Force my local master to be origin/master
我让Master和Origin/Master站在一边,不再对该分支的变化感兴趣。
我按照这些指示让我当地的主人指向正确的地方使当前Git分支成为主分支
1 2 3 4 | 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的状态
1 2 3 4 5 6 7 | 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)来反映我的master呢?任何源站/主站上的孤儿都可以被安全地丢弃。
使
1 | git push -f origin master:master |
参数讨论:
-f 是军旗。通常情况下,在允许推到分支之前,会进行一些检查。-f 标志关闭所有检查。origin 是要推送的遥控器的名称(一个repo中可以有多个遥控器)master:master 的意思是:把我的本地分支master 推到远程分支master 上。一般形式是localbranch:remotebranch 。当您想删除远程上的分支时,知道这一点特别方便:在这种情况下,您将一个空的本地分支推送到远程,从而删除它:git push origin :remote_branch_to_be_deleted 。
用
相反的方向:如果你想放弃你在
1 2 | git checkout master git reset --hard origin/master |
号