想象一下,在评论中写错字或类似的东西:
- // Do thigns
+ // Do things
现在,通过执行git blame @ -- file
,您会看到最初添加该行的提交:
decafbad ... // Do things
您可以通过运行git commit --fixup decafbad
手动修复该行。
有没有办法自动执行此git blame @ -- file |grep thigns
,git commit --fixup decafbad
周期?
答案 0 :(得分:0)
我用bash
编写了一个小脚本来获取它。该脚本假定您只进行了一个修正更改,因此仅查看修改的第一个文件和更改的第一行:
file=$(git diff | sed -n "s/.* a\/\(.*\) \+\+\+.*/\1/p")
line_removed=$(git diff | tail -n +6 | sed -n "s/^-\(.*\)/\1/p")
hash=$(git blame HEAD $file | grep $line_removed | awk "{print \$1}")
git commit -a --fixup $hash
如果您将此代码放在/usr/bin/git-auto-fixup
内(并使其可执行),则可以这样调用它:git auto-fixup