我让master和origin / master陷入困境,不再对该分支的更改感兴趣。
我按照这些说明让当地的主人指向正确的地方 Make the current git branch a master branch
git checkout better_branch
git merge --strategy=ours master # keep the content of this branch, but record a merge
git checkout master
git merge better_branch # fast-forward master up to the merge
除了git status之外,工作得很好
C:\data\localprojects\Beko2011Azure [master]> git status
# On branch master
# Your branch and 'origin/master' have diverged,
# and have 395 and 2 different commits each, respectively.
#
nothing to commit, working directory clean
所以我现在如何说服origin / master(github)反映我的主人。原产地/船长上的任何孤儿都可以安全地放弃。
答案 0 :(得分:64)
让origin/master
与master
相同:
git push -f origin master:master
讨论参数:
-f
是强制标志。通常,在允许推送到分支之前,正在应用某些检查。 -f
标志会关闭所有支票。
origin
是遥控器的名称(你可以在一个回购中使用多个遥控器)
master:master
表示:将我的本地分支master
推送到远程分支master
。一般形式为localbranch:remotebranch
。当您想要删除遥控器上的分支时,了解这一点尤其方便:在这种情况下,您将空的本地分支推送到遥控器,从而将其删除:git push origin :remote_branch_to_be_deleted
可以使用man git-push
相反的方向:如果您想在master
上丢弃所有更改,并希望与origin/master
完全相同:
git checkout master
git reset --hard origin/master
答案 1 :(得分:0)
如果git checkout -B master origin/master
对您不起作用(当您执行git pull
时,本地master
仍然停留在较旧的origin/master
分支上),您可以尝试以下操作:< / p>
git remote prune origin
git pull
它应该重置您的本地master
以跟踪最新的origin/master
。