Git合并提交

Git合并提交,git,git-merge,Git,Git Merge,我是git的新手(非常喜欢它!)。在一个新分支中进行开发时,我不断提交应用程序的各种开发“状态”。现在我必须将其签入以供审阅,但不希望所有内容都以不同的提交(不同的注释和ID)进行 我如何才能像第一次一样推动所有的变化 git rebase -i HEAD~5 允许您以交互方式选择最后5个提交中的哪一个要加入其中;在我的脑海里,它打开了编辑器,里面有这样的东西 pick xxxx commit1 pick xxxx commit2 pick xxxx commit3 pick xxxx com

我是git的新手(非常喜欢它!)。在一个新分支中进行开发时,我不断提交应用程序的各种开发“状态”。现在我必须将其签入以供审阅,但不希望所有内容都以不同的提交(不同的注释和ID)进行

我如何才能像第一次一样推动所有的变化

git rebase -i HEAD~5
允许您以交互方式选择最后5个提交中的哪一个要加入其中;在我的脑海里,它打开了编辑器,里面有这样的东西

pick xxxx commit1
pick xxxx commit2
pick xxxx commit3
pick xxxx commit4
pick xxxx commit5
你把这个换成

pick xxxx commit1
squash xxxx commit2
squash xxxx commit3
squash xxxx commit4
pick xxxx commit5

这导致剩下两个提交:第一个是组合提交1-4的提交,第五个是单独提交的提交(最新的一个)

我认为保留“微提交”是个好主意。您可以从功能之前的最后一次提交到当前头部进行差异,以查看可以发送供审阅的整个差异

您的顺序是向后的-首先列出的是最早的提交。@jledev+1您是对的,修复了itThanks!:)实际上,我在第一次提交之前软重置了提交,然后一起提交了所有更改的全新提交,但我对我的解决方案不满意。感谢这一点:)它更多的是一个场景特定的事情;通常,在发送补丁之前,您会希望重新设置基础,使提交更具逻辑性,并消除“oops!”提交。这是真的,但我不喜欢将整个一周/一个月的开发过程压缩为一次提交,只是为了审查。我自己是
--amend
的忠实用户。正如mathepic所说,你们可能都是对的,需要针对具体场景。在我的情况下,我将它发送给其他人审阅,而“备份”承诺在这里没有多大意义:)谢谢。但你不必向他们发送一份审查承诺。您可以向他们发送一系列提交
git diff start end
,并要求他们查看整个内容。不是吗?@Alex结束这一次(4年后?)没关系,但我的约会比我晚了一个月,有点不公平:)@Alex听起来不错:)