如何自动填充Git提交消息?

时间:2018-06-13 04:14:43

标签: git

通常在工作期间,我会教条地做:

git add .
git commit -m 'wip'

当我查看历史记录时,这通常不太有用。

有没有办法让Git用提交的文件填写提交消息?

git commit --autofill
src/dir/file ++2, 712
src/dir/file2 --2, 123

2 个答案:

答案 0 :(得分:0)

这是一个commit-msg挂钩。

#!/bin/sh

readonly MSG="$1"
sed -n -e '1p' $MSG \
    | if grep -qE '^wip';then
          git diff --cached --stat | sed -e '$d' > $MSG
      fi

git commit -m 'wip'将使用缓存差异静态替换提交消息:

 foo/1.txt        | 6 +++---
 bar/2.txt        | 1 +

如果邮件不是以wip开头,那就是原样。

答案 1 :(得分:0)

除了git commit --fixup/squash之外,您还可以使用git rebase -i --autosquash target_branch

第一个命令将创建一个带有分阶段更改的提交,该提交将接受先前提交的评论,并在他面前添加fixup!squash!

看起来像是

aaa1111 fixup! Commit message
aaa2222 Commit message

其次,使用--autosquash选项git rebase会自动将这些提交标记为已修复或压缩。