2013-12-17 113 views
1

我只在项目上工作。我曾在git log 5次提交。我把这些提交合并为一个推送本地git提交历史到原始分支

git rebase -i HEAD~5 
pick xxxx commit1 
squash xxxx commit2 
squash xxxx commit3 
squash xxxx commit4 
squash xxxx commit5 

现在我有一个在git log提交。一切都很好。但我有git status之后的下一条消息:

Your branch and 'origin/master' have diverged, 
# and have 1 and 5 different commits each, respectively. 

我要做git pull但在那之后我就重写我的git log 5再次承诺(我认为)。

长话短说如何推动本地git将历史提交到原始分支并摆脱分歧错误?

+1

你想压缩已发布的提交吗?然后检查http://stackoverflow.com/questions/8386996/how-can-i-choose-to-overwrite-remote-repository-with-local-commits – Greg

回答

-1

您需要合并origin/master的

git merge origin/master 
+0

我的历史提交将再次改写为5次提交?我想避免这种情况。 – fortegente

+0

实际上你并没有更新原点,现在你已经在合并后更新了本地存储库,那么你将能够进入原点 – moisesvega

+0

这不会做你说的那样,并且不会帮助OP。这不会更新原点,这首先将五次提交返回给本地主服务器(正是不应该发生的事情),如果您随后推送,那就没用了,因为这是OP希望摆脱的历史。 – hvd

相关问题