Git 分支命名以显示父分支
Git branch naming to show parent branch
假设我有两个主要分支: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
是一个实际的分支。有没有办法让它工作,或者有更好的方法在分支名称中显示它?谢谢,
不幸的是,您要求的内容无法工作,因为 Git refs 存储在目录结构中(除非您使用 pack-refs
将 refs 存储在单个文件中),并且 reflogs 总是存储在目录结构中。
在这种情况下,您不能拥有与目录相同的文件名。
由于 Git 有时允许基于 /
的部分分支名称,例如 git log
的 --branches=
选项,基于下划线分隔不是最佳选择.
因此,作为针对您情况的解决方法,我建议使用 dev/main
分支而不是简单的 dev
.
打开“.git”文件夹并转到文件夹 'refs/heads'。在这里,您应该找到与同名分支对应的文件 'dev'。
当您尝试创建分支 'dev/new-feature' 时,git 尝试创建 'dev' 文件夹以在其中创建 'new-feature' 文件。无法创建文件夹,因为已有同名文件。
所以,你会明白这是不可能的:-(
假设我有两个主要分支: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
是一个实际的分支。有没有办法让它工作,或者有更好的方法在分支名称中显示它?谢谢,
不幸的是,您要求的内容无法工作,因为 Git refs 存储在目录结构中(除非您使用 pack-refs
将 refs 存储在单个文件中),并且 reflogs 总是存储在目录结构中。
在这种情况下,您不能拥有与目录相同的文件名。
由于 Git 有时允许基于 /
的部分分支名称,例如 git log
的 --branches=
选项,基于下划线分隔不是最佳选择.
因此,作为针对您情况的解决方法,我建议使用 dev/main
分支而不是简单的 dev
.
打开“.git”文件夹并转到文件夹 'refs/heads'。在这里,您应该找到与同名分支对应的文件 'dev'。 当您尝试创建分支 'dev/new-feature' 时,git 尝试创建 'dev' 文件夹以在其中创建 'new-feature' 文件。无法创建文件夹,因为已有同名文件。
所以,你会明白这是不可能的:-(