Git 分支命名以显示父分支

Git branch naming to show parent branch

假设我有两个主要分支:masterdev。我所有的开发工作都从 dev 分支出来,然后合并回 dev,然后最终合并到发布中,然后合并到 master。我想用 dev/ 前缀命名 dev 子分支以显示它们的分支,所以也许这些是一些分支:

但我不能这样做,反而得到错误:

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' 文件。无法创建文件夹,因为已有同名文件。

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