2016-06-09 159 views
0

我有一个主题分支(通心粉),我已经提交了拉请求。反馈后我必须做出改变。有人要求我将这两个提交压缩成一个提交。这是我做了什么:壁球git从主题分支提交

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 

我使用的是第二从这个问题的答案:

Preferred Github workflow for updating a pull request after code review

与字幕 “选项 - 清洁提交历史”。作者最后提到,你应该使用主题分支,不确定是否应该更改任何命令,因为我已经在主题分支上。

由于我使用-f,我还担心意外地将某些东西强行推到master分支上,但由于我在主题分支上,只有该分支应该受到影响,对吧?

感谢

回答

0

检查正在发生的事情与

git push -f --dry-run 

发生,如果这看起来不错,然后做

git push -f 

真正的命令,看看有什么分支将与受影响push -f

git branch -vv --list macaroni 
+0

啊,是的, - 干运行..好吧,给出了我不确定的以下响应:“致命的:当前分支通心粉没有上游分支 推动当前分支并设置远程为上游,使用 git push --set-upstream origin macaroni“ – user3203425

0

如果不确定,使用显式远程名称和推规格时力推:

git push -f my-remote HEAD:macaroni 
0

推命令可以表现不同,这取决于你的配置,也git的版本。例如,如果你的版本是1.X,git push默认推送所有匹配的分支,并且在你的场景中,可能也推送了主分支。

你需要检查的变量是:

push.default 

您可能会发现this后非常有用。