例如,如果我们想将HEAD
的提交压缩到提交HEAD~4
,我们可以选择
HEAD
重置为HEAD~3
temp
)temp
HEAD~4
HEAD~3
到HEAD
)。有没有其他更快捷方便的方法呢?
答案 0 :(得分:1)
正如@jthill建议的那样,git存在autosquash
选项。
例如,就我而言,让初始案例为
$ git log --oneline --decorate
ddd4444 (HEAD, my-feature-branch) A fourth commit
ccc3333 A third commit
bbb2222 A second commit
aaa1111 A first commit
9999999 (master) Old stuff on master
我现在要添加我想用HEAD~4
压缩的最近更改
为:
$ git add .
$ git commit --fixup aaa1111
[my-feature-branch eee5555] fixup! A first commit
所以,我的历史现在看起来像:
$ git log --oneline --decorate
eee5555 (HEAD, my-feature-branch) fixup! A first commit
ddd4444 A fourth commit
ccc3333 A third commit
bbb2222 A second commit
aaa1111 A first commit
9999999 (master) Old stuff on master
现在autosquash
使用$ git rebase --interactive --autosquash master
进行变基,可以在正确的位置自动选择--fixup
次提交的提交。
在rebase并与commit-message编辑合并之后,您将成功重新设置提交!
就像魔术一样! :)
来源:thoughtbot