【发布时间】:2011-02-01 09:51:58
【问题描述】:
我很确定我在一个流行的 Git 项目中的某个地方看到了分支具有类似“feature/xyz”的模式。
但是,当我尝试使用斜线字符创建分支时,出现错误:
$ git branch labs/feature
error: unable to resolve reference refs/heads/labs/feature: Not a directory
fatal: Failed to lock ref for update: Not a directory
同样的问题(我最初的尝试):
$ git checkout -b labs/feature
如何在 Git 中使用斜杠创建分支?
【问题讨论】:
-
实际上,您的
HEAD似乎有问题。看起来 git 认为您的HEAD是指向尚未创建的分支labs/feature的链接。我不知道这是怎么发生的,但这意味着您尝试基于它创建一个名为foo/bar的分支,它不起作用。知道你的HEAD是怎么解开的吗? -
我很抱歉造成混淆,它的“实验室/功能”,而不是“foo/bar”,已编辑示例。
-
FWIW 斜线之前的任何内容都将在
.git/refs/heads下生成一个目录,即如果您执行git checkout -b feature/123,那么在您的projectRootFolder/.git/refs/heads目录中您将看到一个名为:feature的目录在该目录中的位置你会看到一个名为123的分支。稍后,如果您创建另一个feature/124然后在feature目录中,您将看到一个名为124的分支