[英]Squash git commits from topic branch
我有一个主题分支(通心粉),并且我已经提交了请求请求。 反馈后,我不得不做出改变。 有人要求我将两个提交压缩为一个提交。 这是我所做的:
git status
On branch macaroni
git log
commit def feedback fixes
commit abc fix cheddar flavor
git rebase -i origin/master
.. go through screen where I pick commit to squash ..
.. go through screen where I update commit message ..
git log
commit abc fix cheddar flavor, squashing done!
在这一点上,我相信我必须使用-force标志来推送主题分支,因为我更改了历史记录:
git push -f
我正在使用这个问题的第二个答案:
带有副标题“可选-清洁提交历史记录”。 最后,作者提到您应该使用主题分支,不确定我是否应该更改任何命令,因为我已经在主题分支上了。
由于我正在使用-f,因此我还担心通过以上内容不小心将某些东西强制推入master分支,但是由于我位于topic分支上,因此仅应该影响该分支,对吗?
谢谢
检查会发生什么
git push -f --dry-run
如果看起来还可以,请执行以下命令
git push -f
查看push -f将影响哪个分支
git branch -vv --list macaroni
如果不确定,则在强制推送时使用明确的远程名称并推送规范:
git push -f my-remote HEAD:macaroni
push命令的行为可能会有所不同,具体取决于您的配置以及git版本。 例如,如果您的版本是1.X,则git push默认情况下将推送所有匹配的分支,并且在您的方案中,您可能还推送了master分支。
您需要检查的变量是:
push.default
您可能会发现这篇文章很有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.