Git 强制我的本地主人成为原始人/主人

Git 强制我的本地主人成为原始人/主人,git,github,branch,Git,Github,Branch,我让master和origin/master陷入了局外人的境地,对该分支上的更改不再感兴趣 我按照这些指示,让我当地的主人指向正确的地方 除了git status给出的代码外,其他代码工作正常 C:\data\localprojects\Beko2011Azure [master]> git status # On branch master # Your branch and 'origin/master' have diverged, # and have 395 and 2 di

我让master和origin/master陷入了局外人的境地,对该分支上的更改不再感兴趣

我按照这些指示,让我当地的主人指向正确的地方

除了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)反映我的师父呢。任何源代码/主代码上的孤立项都可以安全放弃。

要使
源代码/主代码
主代码
相同:

git push -f origin master:master
git checkout master
git reset --hard origin/master
关于参数的讨论:

  • -f
    标志。通常,在允许推送到分支之前,会应用一些检查。
    -f
    标志关闭所有检查

  • origin
    是要推送的远程设备的名称(一个repo中可以有多个远程设备)

  • master:master
    表示:将我的本地分支
    master
    推送到远程分支
    master
    。一般形式是
    localbranch:remotebranch
    。知道这一点在您想要删除远程上的分支时特别方便:在这种情况下,您将一个空的本地分支推送到远程,从而删除它:
    git push origin:remote\u branch\u to\u be\u deleted

有关参数的更详细说明,请参见


相反方向:如果您想放弃对
master
所做的所有更改,并想使其与
origin/master
完全相同:

git push -f origin master:master
git checkout master
git reset --hard origin/master

如果
git checkout-B master origin/master
不适用于您(当您执行
git pull
时,您的本地
master
仍卡在较旧的
origin/master
分支上),您可以尝试以下操作:

git remote prune origin

git pull

它应该重置您的本地
master
以跟踪最新的
origin/master

git push-f origin master:master
?这意味着,从名为master的本地分支转到名为master的远程分支谢谢@user1615903:看到了您之前对这个问题的评论,我一直在尝试理解语法