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

And*_*iih 30 git branch github

我让master和origin/master陷入困境,不再对该分支的变化感兴趣.

我按照这些说明让我的本地主人指向正确的位置 使当前的git分支成为主分支

 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
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,除了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
Run Code Online (Sandbox Code Playgroud)

所以我现在如何说服origin/master(github)反映我的主人.可以安全地放弃在原点/主人身上孤立的任何东西.

eck*_*kes 68

具有origin/master相同的master:

git push -f origin master:master
Run Code Online (Sandbox Code Playgroud)

讨论参数:

  • -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
Run Code Online (Sandbox Code Playgroud)