【发布时间】:2011-06-23 15:12:56
【问题描述】:
我是 git 新手(非常喜欢它!)。在新分支中开发时,我不断提交应用程序的各种开发“状态”。现在我必须检查它以供审核,但不希望所有内容都进入不同的提交(不同的 cmets 和 id)。
如何像第一次一样推送所有更改?
【问题讨论】:
-
@Alex 可以关闭这个(4 年后?)但我的日期比我大一个月,有点不公平:)
-
@Alex 听起来不错 :)
我是 git 新手(非常喜欢它!)。在新分支中开发时,我不断提交应用程序的各种开发“状态”。现在我必须检查它以供审核,但不希望所有内容都进入不同的提交(不同的 cmets 和 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,而提交 5(最新的一个)被单独留下
【讨论】:
我认为保留“微提交”是个好主意。您可以从您的功能之前的最后一次提交到当前 HEAD 进行比较,以查看您可以发送以供审查的整个差异。
【讨论】:
--amend 的重度用户。
git diff start end 并要求他们审查整个事情。没有?