我看过很多关于使用git commit --amend
的博客文章,或者是用来压缩提交的博客文章。
我发现git重置到最后一个检查点(比如说在我的所有'保存点'微观提交之前)更容易,然后使用交互式添加来挑选最佳提交顺序。
这有不足吗?
我想知道b / c因为我读过的大多数博客都是为此目的使用修改或改造
答案 0 :(得分:6)
缺点是您可以再次选择所有单个文件,以便在提交中再次对它们进行分组。
如果您的提交需要组合在一起(无需在这些提交中添加或删除文件),那么rebase --interactive更容易:您根据提交的文件集进行推理。
实际上,通过正确的提交注释,rebase --interactive --autosquash
可以为您重新排序。
如果你的提交纯粹是中间保存点,没有考虑它们在文件集方面的构成,那么你的解决方案就足够了。
答案 1 :(得分:3)
要添加到VonC所回答的内容,这取决于您拥有的提交数量。
我最常发生的事情是:
使用交互式rebase,重新排序然后将校正压缩到A的原始提交中是微不足道的。
另一个例子是我只想重新提交提交消息。
另一个例子是我有这样的事情
A-------------------master
\
B-----C-----D-----branch
我想加入C& D但不 B成主人。我可以使用rebase将我的分支提交重新排序为C,D,B,然后git checkout master
和git merge D