压缩和重组提交

时间:2011-04-01 08:14:29

标签: git

我看过很多关于使用git commit --amend的博客文章,或者是用来压缩提交的博客文章。

我发现git重置到最后一个检查点(比如说在我的所有'保存点'微观提交之前)更容易,然后使用交互式添加来挑选最佳提交顺序。

这有不足吗?
我想知道b / c因为我读过的大多数博客都是为此目的使用修改或改造

2 个答案:

答案 0 :(得分:6)

缺点是您可以再次选择所有单个文件,以便在提交中再次对它们进行分组。

如果您的提交需要组合在一起(无需在这些提交中添加或删除文件),那么rebase --interactive更容易:您根据提交的文件集进行推理。
实际上,通过正确的提交注释,rebase --interactive --autosquash可以为您重新排序。

如果你的提交纯粹是中间保存点,没有考虑它们在文件集方面的构成,那么你的解决方案就足够了。

答案 1 :(得分:3)

要添加到VonC所回答的内容,这取决于您拥有的提交数量。

我最常发生的事情是:

  • 在A上工作,提交
  • 在B上工作,提交
  • 哦不!我错过了A中的一些重要内容,对A
  • 进行了更正

使用交互式rebase,重新排序然后将校正压缩到A的原始提交中是微不足道的。

另一个例子是我只想重新提交提交消息。

另一个例子是我有这样的事情

A-------------------master
 \
  B-----C-----D-----branch

我想加入C& D但 B成主人。我可以使用rebase将我的分支提交重新排序为C,D,B,然后git checkout mastergit merge D