Git合并提交

Git merge commits

本问题已经有最佳答案,请猛点这里访问。

我对Git不熟悉(而且很享受!).在新的分支中进行开发时,我不断提交我的应用程序的各种开发"状态"。现在我必须检查它以供审阅,但不希望所有内容都进入不同的提交(不同的注释和ID)。

如何像第一次那样推动所有的变化?


1
git rebase -i HEAD~5

允许您以交互方式选择最后5个提交中的哪一个要加入到一个;在我的头上,它用如下方式打开编辑器

1
2
3
4
5
pick xxxx commit1
pick xxxx commit2
pick xxxx commit3
pick xxxx commit4
pick xxxx commit5

你把这个换成

1
2
3
4
5
pick xxxx commit1
squash xxxx commit2
squash xxxx commit3
squash xxxx commit4
pick xxxx commit5

这样会留下两个提交:第一个是合并提交1-4的提交,第五个是单独提交的提交(最新的一个)


我认为保持你的"微观承诺"是个好主意。您可以将功能之前的最后一次提交与当前头部进行比较,以查看可以发送以供审阅的整个差异。