我最近在创建分支组时偶然发现了Git中的一个常见问题:
我有一个名为“ tim oji ”的分支。
我想创建一个名为“ tim tim ”的文件夹/组,并在其中包含“ tim ”分支,导致分支路径为“ tim tim/tim ”。
当我尝试执行此操作时,Git确实讨厌我,因为根据Git,文件夹 tim 和分支引用 tim 完全相同。
我的问题是,是否有人知道为什么分支引用没有某种扩展名可以解决此问题?说 .gitbranch 还是其他?
显然,每次访问文件时,都要在 .gitbranch 上附加一些工作,但是与用户为解决此问题而要做的工作相比,几乎没有什么工作,尤其是在开发团队中。 (以前克隆过该存储库的任何人都必须手动进入其refs文件夹,并删除任何名为“ tim oji ”的分支的痕迹,否则它们将无法获取!)
如果这实际上是一个合法问题,我将通过适当的 channel 提出,但是我想检查是否有人可以知道为什么他们可能有目的地这样做?
谢谢大家
提姆
最佳答案
我认为这两种方式都没有任何特别的理由。在Unix中,通常不使用文件扩展名,因此没有文件扩展名。这意味着您不能同时拥有一个foo
和foo/anything
。尽管远程引用通常以打包格式存储在一个文件中,但该文件已记录在案,现在已一成不变,不会改变。
然而:
如果指定了git fetch
(-p
)选项,那么
--prune
应该足够聪明,可以在创建新分支之前修剪旧分支。如果没有,您绝对应该在git邮件列表中显示它。