在Git分支名称中使用斜杠字符我很确定我在一个流行的Git项目中看到某个地方的分支有一个像“feature / xyz”这样的模式。但是当我尝试使用斜杠字符创建一个分支时,我收到一个错误:$ git branch labs/featureerror: unable to resolve reference refs/heads/labs/feature: Not a directoryfatal: Failed to lock ref for update: Not a directory同样的问题(我最初的尝试):$ git checkout -b labs/feature如何使用斜杠字符在Git中创建分支?
3 回答
喵喔喔
TA贡献1735条经验 获得超5个赞
你确定分支labs
还不存在(如在这个帖子中)?
您不能同时拥有文件和具有相同名称的目录。
你试图让git基本上做到这一点:
% cd .git/refs/heads% ls -ltotal 0-rw-rw-r-- 1 jhe jhe 41 2009-11-14 23:51 labs-rw-rw-r-- 1 jhe jhe 41 2009-11-14 23:51 master% mkdir labsmkdir: cannot create directory 'labs': File exists您将获得相当于“无法创建目录”的错误。
当你有一个带有斜杠的分支时,它会被存储为目录层次结构.git/refs/heads
。
侃侃尔雅
TA贡献1801条经验 获得超16个赞
可以使用分层分支名称(带有斜杠的分支名称)。例如,在我的存储库中,我有这样的分支。需要注意的是,您不能在存储库中同时拥有分支'foo'和分支'foo / bar'。
您的问题不在于使用名称中的斜杠创建分支。
$ git branch foo / bar错误:无法解析引用refs / heads / labs / feature:不是目录致命:无法锁定ref以进行更新:不是目录
上面的错误消息是关于'labs / feature'分支,而不是'foo / bar'(除非它是copy'n'paste中的错误,即你编辑了部分会话)。什么是结果git branch
还是git rev-parse --symbolic-full-name HEAD
?
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
如果您已经拥有基本名称的分支,则有时会出现此问题。
我试过这个:
git checkout -b features/aName origin/features/aName
不幸的是,我已经有了一个名为的分支features
,我得到了提问者的例外。
删除分支features
解决了问题,上面的命令工作。
- 3 回答
- 0 关注
- 3251 浏览
添加回答
举报
0/150
提交
取消