我有一个回购,我创建了一个这样的分支:
git checkout -b AAA/BBB
效果很好。现在我想添加一些新东西,我想创建一个新的分支:
git checkout -b AAA/BBB/CCC
但是我收到了一个错误:
error: unable to resolve reference refs/heads/AAA/BBB/CCC: Not a directory
fatal: Failed to lock ref for update: Not a directory
任何人都可以解释我做错了什么吗?我能这样做吗?这不好吗?为什么?感谢
答案 0 :(得分:1)
以下是您可能想知道的事情。假设我们现在在主分公司。</ p>
$ git checkout -b aaa/bbb
在此之后,您可以在.git/refs/heads/aaa/bbb
下看到新创建的文件。是的,当您创建分支时,git将在.git/refs/heads
下创建新文件。因此,如果您使用分支名称aaa/bbb
,git将在aaa文件夹下生成文件bbb。是否有意义?所以,在溺爱以下
$ git checkout -b aaa/bbb/ccc
您将收到错误,因为git尝试在.git/refs/heads/aaa/bbb
下创建文件ccc。
我建议您不要在分支机构名称上使用/或仅使用一个/(例如,问题/ 1234,问题/ 1276)。通常我使用issue_1234或issue1234而不是/.