我熟悉使用壁球来清理我的树枝,但压扁的文字是
use commit, but meld into previous commit
,它将使用之前提交中的消息。我想知道是否有办法让它快速使用以后的提交(或者更确切地说,汇总文件更改并使用稍后提交的消息)
一个例子:
在这里运行一些东西并以
结束我知道我可以使用rebase,通过压缩443f7287,然后手动将其提交消息复制到生成的提交中,但我希望没有交互式rebase屏幕的单行程序。从理论上讲,当我改变曲目而不是提交曲目时,我可以隐藏我的变化,但是当我试图学习藏匿时,我并没有真正得到很多牵引力。
有没有办法快速实现我的目标?有更好的解决方案吗?
答案 0 :(得分:1)
如果这些提交位于您的分支的最前端,并且您当前正在处理443f7287
中可能发生的更改,则可以使用git commit --amend
而不是制作第二次提交。这将提示您编辑前一次提交的提交消息,此时您可以指定所需的提交消息。
如果您正在尝试编辑历史较深处的提交,我不相信有一种简单的方法可以避免使用其他人共享的交互式rebase步骤。
答案 1 :(得分:0)
如果你愿意使用交互式rebase,你可以轻松做的一件事是采取两行
pick 0ebbd9c0 Partial commit from when I had to switch tracks temporarily
pick 443f7287 Fixes a lot of stuff
并重新排序
pick 443f7287 Fixes a lot of stuff
pick 0ebbd9c0 Partial commit from when I had to switch tracks temporarily
然后将第二个更改为“fixup”:
pick 443f7287 Fixes a lot of stuff
f 0ebbd9c0 Partial commit from when I had to switch tracks temporarily
这与将两者压缩在一起具有相同的效果,但它会自动获取第一个提交消息(“修复很多东西”)而不需要任何进一步的提示。