235
235
如何将 "主控 "重置为 "原点/主控"?
能否用更简单的方法进行以下操作?
git checkout origin/master
git branch -D master
git branch master
git checkout master
能否用更简单的方法进行以下操作?
git checkout origin/master
git branch -D master
git branch master
git checkout master
正如KindDragon的答案中提到的,可以直接在master
处重新创建origin/master
,方法是:
git checkout -B master origin/master
-B
如果给定了
<new_branch>
,如果不存在,则创建git checkout
;其他,则重置。这是
$ git branch -f <branch> [<start point>]
$ git checkout <branch>
的事务性等价物*** * *
自Git 2. 23+(2019年8月),由于git switch
太混乱,新的(仍在实验中)命令是--create
**:
git switch -C master origin/master
即:
-C <new-branch> --force-create <new-branch>
与
<new-branch>
类似,只是如果<start-point>
已经存在,就会重置为&007。
这是个方便的快捷方式,用于:$ 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
,第二步是可选的。
Git支持此命令:
git checkout -B master origin/master
origin/master
检查出master
分支,然后在那里重置&007分支。
我认为即使是VonC的答案也比这个选项复杂:
git update-ref refs/heads/master origin/master
git reset --hard master
``` &001
git会自动记录 ref 的每个值(通过 reflog)。所以在你运行这个命令后,`master@{1}`就会引用master的前一个值。
VonC的答案是正确的,但是它把master的旧值签出到文件系统中,浪费了时间。