为了账号安全,请及时绑定邮箱和手机立即绑定

在Git分支名称中使用斜杠字符

在Git分支名称中使用斜杠字符

Git
DIEA 2019-07-30 14:20:45
在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


查看完整回答
反对 回复 2019-07-30
?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

可以使用分层分支名称(带有斜杠的分支名称)。例如,在我的存储库中,我有这样的分支。需要注意的是,您不能在存储库中同时拥有分支'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


查看完整回答
反对 回复 2019-07-30
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

如果您已经拥有基本名称的分支,则有时会出现此问题。

我试过这个:

git checkout -b features/aName origin/features/aName

不幸的是,我已经有了一个名为的分支features,我得到了提问者的例外。

删除分支features解决了问题,上面的命令工作。


查看完整回答
反对 回复 2019-07-30
  • 3 回答
  • 0 关注
  • 3105 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信