我“错误地”将我的git仓库检出为孤立分支。有没有办法撤销这个命令?我还没有进行任何提交甚至改变了仓库的其他方式。
我“错误地”将我的git仓库检出为孤立分支。有没有办法撤销这个命令?我还没有进行任何提交甚至改变了仓库的其他方式。
# check that your current branch is the orphan one
git branch
git reset <anExistingBranch>
# or
git checkout -B <anExistingBranch>
<anExistingBranch>
的HEAD作为父级。(我认为这是关于一个新分支的,因为对现有分支的git checkout --orphan
不起作用“fatal: A branch named 'xxx' already exists
”)
git checkout --orphan
是行不通的,会出现"fatal: A branch named 'xxx' already exists
"的错误。这就是为什么我认为我们正在谈论一个新分支的原因:一旦创建了分支,简单的checkout不会改变任何东西。需要进行重置(或git checkout -B
)以移动HEAD。 - VonCgit checkout --orphan foo && git checkout master
,你会发现你的状态和之前完全一样。孤立分支的检出并没有真正创建分支,因为还没有提交可以指向该分支。这与执行 git init && git checkout -b foo && git add . && git commit -m foo
相似,它只会留下一个名为 foo
的分支,而没有 master
分支,因为只有第一次提交才能真正创建分支。 - Vampire只需使用常规的checkout检查您想要的分支即可。
git checkout -f master
(强制)可以工作。 - BrunoLMgit reflog -3 && echo 查看之前的提交记录
git checkout head@{1} && echo 切换到之前的提交版本