我有master
并建立了一个分支A
。我提交了更改并推送到github,回到master
并创建了一个分支B
做了我的事情并推送到github。
我回到分支A
,进行了一些更改,发现我需要分支B
。
在分支A
上我做了git rebase B
并且没有问题就重新定位了。我做了一些改动,用主人重新安排它,一切都很好。
但是,现在当我尝试推送到github时,我收到以下消息:Updates were rejected because the tip of your current branch is behind its remote counterpart. Integrate the remote changes (e.g. 'git pull ...') before pushing again. See the 'Note about fast-forwards' in 'git push --help' for details.
我无法弄明白,为什么它现在落后了?
我试过了git pull
,但它没有用。我应该git pull origin A
吗?
答案 0 :(得分:2)
当您在分支A
上重新分配分支B
时,您重写了 A
的历史记录。因此,当你推动它不知道如何在你的本地A
分支上应用新提交时,Git会抱怨,因为该分支的基础已经改变。解决这个问题的常用方法就是强行将A
推送到遥控器:
git push --force origin A
这将覆盖(读取:clobber)遥控器上的分支A
。但大概这就是你想要发生的事情。