Git,提交时读取最新的提交消息

时间:2015-08-17 09:16:17

标签: git git-commit

当我提交时,这个文字跳了起来:

Please enter the commit message for your changes. Lines starting
 with '#' will be ignored, and an empty message aborts the commit.

 On branch master
 Your branch is ahead of 'origin/master' by 2 commits.

 Changes to be committed:

    new file:   modules/new_file.txt

我想要的是让这封内容丰富的文字也向我展示我上一次提交的信息,而不需要通过git loggit show或类似内容。

E.g。

(...)

 Changes to be committed:

    new file:   modules/new_file.txt

 Previous commit message:
    [FIX] Fixed the foo.bar module

这与this question完全相同,但没有一个答案实际上回答了这个问题,所以我想OP只是问它有点不对劲?

2 个答案:

答案 0 :(得分:5)

有一个名为prepare-commit-msg的{​​{3}}生成此提交消息模板。默认情况下,prepare-commit-msg.sample目录中应该有.git个文件。将其重命名为删除.sample,然后对其进行修改以包含git log -1或您可能需要的任何其他内容,并在提交时获得它。

像这样的东西

#!/bin/sh

echo "# Previous commit:" >> $1
git log -1 -p|sed 's/^\(.\)/# \1/g'  >> $1

应该足够了。

答案 1 :(得分:0)

您可以编写自己的命令吗?它可能看起来像这样:

#!/bin/bash
echo "Last commit message:"
git log -1 --pretty=%B # only echo commit msg to console
echo "Enter commit message:"
read commitmsg # let user enter a commit message
git commit -m "$commitmsg"

然后,您可以将此文件添加到PATH。