git checkout origin/master
git branch -D master
git branch master
git checkout master
#1 楼
Git支持以下命令:git checkout -B master origin/master
检出
origin/master
分支,然后在那里重置master
分支。评论
唯一的真实答案。
– Robert Siemer
16年1月8日在12:14
保存四次击键-不需要引号。只是:git checkout -B master origin / master
– zumalifeguard
16-3-24的2:29
假设我犯了两件事,第一件事是与分支合并,第二件事是常规的。如果我回到原点/原件,合并会发生什么?
–utdev
16/12/22在15:05
您不是必须先git fetch origin master才能确保Origin / master更新了吗?
– pedrozath
17 Mar 29 '17在16:22
是的,当然,对于所有解决方案,您都应该先进行git fetch
– KinDragon
17年3月29日在17:03
#2 楼
如KindDragon的答案所述,您可以直接在master
上重新创建origin/master
,方法如下:git checkout -B master origin/master
git checkout
手册页提到:如果给出
-B
, <new_branch>
如果不存在则创建;否则,将被重置。这与$ git branch -f <branch> [<start point>]
$ git checkout <branch>
的交易等效项由于Git 2.23+(2019年8月),由于
git checkout
太混乱了,所以新的(仍处于试验阶段)命令是git switch
:git switch -C master origin/master
即:
-C <new-branch>
--force-create <new-branch>
与
--create
相似,除了<new-branch>
这是一个方便的快捷方式,用于:
$ git branch -f <new-branch>
$ git switch <new-branch>
最初建议:
类似的东西:
$ git checkout master
# remember where the master was referencing to
$ git branch previous_master
# Reset master back to origin/master
$ git reset --hard origin/master
步骤2是可选的。
评论
您只需一行即可完成。
– Robert Siemer
16年1月8日在12:17
谢谢VonC,我已更新为接受亲爱的@KindDragon的回答。该技术一直在进步。已经十年了!爱你们!! ^ _ ^
–谢耶利
20 Jul 22'12:17
@XièJìléi没问题,不错的选择。我的为KindDragon提供了更多细节。
–VonC
20年7月22日在12:33
#3 楼
与该选项相比,我认为VonC的答案也比较复杂:git update-ref refs/heads/master origin/master
git reset --hard master
master@{1}引用了master的先前值。
VonC的答案是正确的,但是浪费了将master的旧值检出到文件系统中的时间。
如果您关心存储库中的孤立对象,则可以运行
git gc
评论
听起来很有趣。 +1
–VonC
13年3月19日在12:37
我仍然已经掌握了“大师”
–yourfriendzak
13年8月21日在22:56
@yourfriendzak,我忘记考虑到在更新母版之前您可能已经将母版签出。我已经将答案更新为即使在这种情况下也应该起作用的答案。
–亚历山大·伯德(Alexander Bird)
13年8月22日在19:02
即使您不在母版上(例如实际上指向小费来源/母版的HEAD分离状态),此方法也有效。然后,您可以检出master文件,而不必通过回购来翻转旧文件。大!
–毛泽东
2014年7月25日在19:26
#4 楼
如果已经在master
上,则可以执行以下操作:git reset --hard origin/master
它将把本地
master
分支指向远程origin/master
,并放弃工作目录中的任何修改。 br />评论
并会删除文件!如果您已经创建/编辑了文件,并且对它们运行了“ git add”,则此命令将删除它们。被警告。
– Cheeso
2015年11月11日15:30
这种方法是否比git checkout -B master origin / master更好?
– Jim Aho
19年6月2日在18:02
评论
有时,无需触摸工作树即可完成此操作:stackoverflow.com/a/12343727/586086请更新您接受的答案:@KindDragon的答案更正确,更短。