[英]Squash commits into one commit
我想将commiet压缩为一次提交。 这是例子。
git log --pretty=oneline
c4101e... removed conflict
04830f... T2345 - [Bug fix1]
16d19f... T2272 - [Bug fix2]
我的要求是,他将在c4101e (最新提交)和16d19f (第三次提交)中所做的代码更改视为一个。 像这样
c4101e... removed conflict and T2272 - [Bug fix2]
04830f... T2345 - [Bug fix1]
提前致谢。
您可以为此使用git rebase。 git rebase -i HEAD〜3并忽略中间的提交。
检查http://git-scm.com/docs/git-rebase和git rebase -i
使用git rebase -i HEAD~3
HEAD〜3进行最近3次提交的交互基础。 它将打开文本编辑器,每次提交仅一行。 然后,您可以根据需要对它们进行重新排序,并将pick
命令更改为squash
以将提交压缩到上一个。
当您打开文件时,它将类似于:
pick c4101e... removed conflict
pick 04830f... T2345 - [Bug fix1]
pick 16d19f... T2272 - [Bug fix2]
更改为:
pick c4101e... removed conflict
squash 16d19f... T2272 - [Bug fix2]
pick 04830f... T2345 - [Bug fix1]
这将打开额外的文本编辑器,以编辑压缩提交的提交消息。 如果只想使用第一次提交的提交消息,请使用fixup
而不是squash
。
上述情况的另一种选择是
git reset HEAD〜3
git添加
git提交
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.