Git创建分支时如何使用分离的HEAD状态

152

我尝试了类似这样的代码:

git branch temp

要创建一个新的分支,但是不要移动HEAD。但我得到了:

# Not currently on any branch.

我不想合并任何东西,我只想在当前的HEAD上创建一个新分支。

2个回答

272
你坐在一个分离的 HEAD 上:
git checkout <sha>

您希望在该提交上创建一个分支:

git branch my-new-branch

现在切换到那个分支:

git checkout my-new-branch

104
是的,但稍微简单一些的命令是 git checkout -b my-new-branch - torek
33
@torek,是的,这种速记更快。我将其分成独立的部分,因为看起来 OP 期望 branch 不仅创建分支,还会切换到该分支。我想要明确 branchcheckout 之间的区别。 - redhotvengeance
10
速记打起来更快,但记忆起来更慢。我喜欢所提出的解决方案。 - Dogweather

9
您也可以使用:
git switch -c <new branch name>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接