强迫我的本地主人成为原点/主人

时间:2013-04-19 11:42:04

标签: git github branch

我让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)反映我的主人。原产地/船长上的任何孤儿都可以安全地放弃。

2 个答案:

答案 0 :(得分:64)

origin/mastermaster相同:

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