Git分支命名以显示父分支

Git分支命名以显示父分支,git,branch,naming,Git,Branch,Naming,假设我有两个主要分支:master和dev。我所有的开发工作都是从dev分支出来的,然后重新合并到dev,最后合并到发行版,然后合并到master。我想用dev/前缀命名dev子分支,以显示它们的分支来源,因此可能有一些分支: master dev dev/new功能 开发/改进的东西 dev/more cowbell 但我不能这样做,而是得到了错误: error: unable to create directory for .git/refs/heads/dev/new-feature

假设我有两个主要分支:
master
dev
。我所有的开发工作都是从
dev
分支出来的,然后重新合并到
dev
,最后合并到发行版,然后合并到
master
。我想用
dev/
前缀命名
dev
子分支,以显示它们的分支来源,因此可能有一些分支:

  • master
  • dev
  • dev/new功能
  • 开发/改进的东西
  • 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
是一个实际的分支。有没有一种方法可以实现这一点,或者有没有更好的方法在分支名称中显示这一点?谢谢,

不幸的是,您所要求的无法工作,因为Git ref存储在目录结构中(除非您使用
pack refs
将ref存储在单个文件中),并且reflogs始终存储在目录结构中

在这种情况下,文件名不能与目录相同

由于Git有时允许基于
/
的部分分支名称,例如
Git log
--Branchs=
选项,因此基于下划线分隔不是最佳选择


因此,作为您的解决方案,我建议使用
dev/main
分支,而不是简单的
dev

打开“.git”文件夹并转到“refs/heads”文件夹。在这里,您应该找到与同名分支相对应的文件“dev”。 当您尝试创建一个分支“dev/newfeature”时,git会尝试创建“dev”文件夹以在其中创建“newfeature”文件。它无法创建文件夹,因为文件已具有相同的名称


所以,你会明白这是不可能的:(

dev/main
是个好主意。谢谢