Git分支命名以显示父分支

3
假设我有两个主要的分支:masterdev。 我所有的开发工作都是从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是一个实际的分支。有没有办法使这个工作起来,或者有没有更好的方法来显示这个分支名?谢谢。

2个回答

2
很遗憾,您所要求的方式无法实现,因为Git引用是存储在目录结构中的(除非使用pack-refs将引用存储在单个文件中),而引用日志始终存储在目录结构中。因此,您不能拥有与目录同名的文件名。
由于Git有时允许基于斜杠/的部分分支名称,例如git log--branches=选项,因此按下划线分隔不是最佳选择。
因此,作为解决办法,我建议您使用dev/main分支而不是普通的dev分支。

dev/main 是一个很好的想法。谢谢。 - Bob Dylan

0

打开'.git'文件夹并进入文件夹'refs/heads'。在这里,您应该会找到与同名分支对应的文件'dev'。 当您尝试创建一个名为'dev/new-feature'的分支时,Git会尝试创建'dev'文件夹以在其中创建'new-feature'文件。它无法创建该文件夹,因为已经有一个同名的文件。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接