我看过很多关于使用git commit --amend
或rebase来压缩提交的博客文章。
我发现使用git reset到上一个检查点(例如在所有“保存点”微提交之前)然后使用交互式添加来选择最佳提交顺序更容易些。
这种方法有什么不好的地方吗?
我想知道,因为我读的大多数博客都使用amend或rebase来进行此操作。
我看过很多关于使用git commit --amend
或rebase来压缩提交的博客文章。
我发现使用git reset到上一个检查点(例如在所有“保存点”微提交之前)然后使用交互式添加来选择最佳提交顺序更容易些。
这种方法有什么不好的地方吗?
我想知道,因为我读的大多数博客都使用amend或rebase来进行此操作。
rebase --interactive --autosquash
可以为您重新排序。除了VonC的回答之外,还要看你有多少次提交。
我最常遇到的情况是这样的:
通过交互式变基,重新排序并将更正内容合并到A的原始提交中非常容易。
另一个例子是当我只想改写提交信息时。
还有一个例子是当我遇到这种情况时:
A-------------------master
\
B-----C-----D-----branch
我希望将C和D合并到主分支中,但是不想将B合并。我可以使用rebase来重新排序我的分支提交顺序为C、D、B,然后git checkout master
和git merge D
。
git merge D
即可。 - Benjol