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
是个好主意。谢谢