Git分支命名以显示父分支

时间:2015-12-16 21:43:58

标签: git branch naming

假设我有两个主要分支: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 个答案:

答案 0 :(得分:2)

遗憾的是,您要求的内容无法正常工作,因为Git引用存储在目录结构中(除非您使用pack-refs将refs存储在单个文件中),并且reflog总是存储在目录结构中。

在这种情况下,您不能拥有与目录相同的文件名。

由于Git有时允许基于/的部分分支名称,例如--branches=的{​​{1}}选项,因此基于下划线分离是不理想的。

因此,作为针对您的情况的解决方法,我建议您使用git log分支,而不仅仅是dev/main

答案 1 :(得分:0)

打开' .git'文件夹并转到文件夹' refs / heads'。在这里,你应该找到文件' dev'对应于具有相同名称的分支。 当您尝试创建分支&#dev; new-feature'时,git会尝试创建' dev'用于创建'新功能的文件夹'文件里面。它无法创建文件夹,因为文件已经具有相同的名称。

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