繁体   English   中英

壁球git从主题分支提交

[英]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

我正在使用这个问题的第二个答案:

首选Github工作流程,用于在代码检查后更新拉取请求

带有副标题“可选-清洁提交历史记录”。 最后,作者提到您应该使用主题分支,不确定我是否应该更改任何命令,因为我已经在主题分支上了。

由于我正在使用-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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM