假设我有两个主要分支:master
和dev
。我的所有开发工作都从dev
分支,然后合并回dev
,然后最终合并到版本中,然后合并到master
。我想用dev
前缀命名dev/
个子分支以显示它们的分支,所以也许这些是一些分支:
master
dev
dev/new-feature
dev/improved-thing
dev/more-cowbell
但我不能这样做,而是得到错误:
error: unable to create directory for .git/refs/heads/dev/new-feature
fatal: Failed to lock ref for update: No such file or directory
大概这是因为dev
是一个真正的分支。有没有办法让这个工作,或者有更好的方法在分支名称中显示这个?谢谢,
答案 0 :(得分:2)
遗憾的是,您要求的内容无法正常工作,因为Git引用存储在目录结构中(除非您使用pack-refs
将refs存储在单个文件中),并且reflog总是存储在目录结构中。
在这种情况下,您不能拥有与目录相同的文件名。
由于Git有时允许基于/
的部分分支名称,例如--branches=
的{{1}}选项,因此基于下划线分离是不理想的。
因此,作为针对您的情况的解决方法,我建议您使用git log
分支,而不仅仅是dev/main
。
答案 1 :(得分:0)
打开' .git'文件夹并转到文件夹' refs / heads'。在这里,你应该找到文件' dev'对应于具有相同名称的分支。 当您尝试创建分支&#dev; new-feature'时,git会尝试创建' dev'用于创建'新功能的文件夹'文件里面。它无法创建文件夹,因为文件已经具有相同的名称。
所以,你会明白这是不可能的: - (