我最近在创建分支组时偶然发现了Git中的一个常见问题:

我有一个名为“ tim oji ”的分支。
我想创建一个名为“ tim tim ”的文件夹/组,并在其中包含“ tim ”分支,导致分支路径为“ tim tim/tim ”。

当我尝试执行此操作时,Git确实讨厌我,因为根据Git,文件夹 tim 和分支引用 tim 完全相同。

我的问题是,是否有人知道为什么分支引用没有某种扩展名可以解决此问题?说 .gitbranch 还是其他?
显然,每次访问文件时,都要在 .gitbranch 上附加一些工作,但是与用户为解决此问题而要做的工作相比,几乎没有什么工作,尤其是在开发团队中。 (以前克隆过该存储库的任何人都必须手动进入其refs文件夹,并删除任何名为“ tim oji ”的分支的痕迹,否则它们将无法获取!)

如果这实际上是一个合法问题,我将通过适当的 channel 提出,但是我想检查是否有人可以知道为什么他们可能有目的地这样做?

谢谢大家
提姆

最佳答案

我认为这两种方式都没有任何特别的理由。在Unix中,通常不使用文件扩展名,因此没有文件扩展名。这意味着您不能同时拥有一个foofoo/anything。尽管远程引用通常以打包格式存储在一个文件中,但该文件已记录在案,现在已一成不变,不会改变。

然而:

如果指定了git fetch(-p)选项,那么

  • --prune应该足够聪明,可以在创建新分支之前修剪旧分支。如果没有,您绝对应该在git邮件列表中显示它。
  • 我只在gui中看到默认修剪的方法,而在远程的fetch配置中看不到。也要问这个问题。
  • 10-08 19:57