让旧的git branch隐形而不会让它们无法访问?

时间:2011-03-03 05:10:36

标签: git branch gitk

当你输入“git branch”时,有没有办法让git branch停止显示,但是在历史记录中仍然可以访问,即通过gitk?我有许多旧的分支机构,我希望从我的视线中脱颖而出,但我认为没有理由删除历史,即使是在具有太字节硬盘的世界中的开发死胡同。

标签可能接近我正在寻找的东西,但我不想在我们的提交消息之外命名我的死胡同。此外,我想在主线开发历史中为特别好的点保留标记。

3 个答案:

答案 0 :(得分:5)

您可以在refs/内组建自己的命名空间,例如refs/historic/foo,方法是手动使用update-ref命令(然后删除分支)。

这种方法的一些警告:

  • 它们未显示在git branch中,但它们确实显示在git log --decorategitk中,没有任何其他选项,您可以使用git show-ref列出所有内容参考文献
  • 它们不会自动获取,因此如果您希望它们被传输,则必须手动使用ls-remotefetch

然而,这似乎是一种归档分支的好方法,因为它可以在浏览历史记录时弹出,可以明确列出,并且不会使分支或标记名称空间混乱。

答案 1 :(得分:4)

将旧分支推送到许多免费Git托管站点之一的远程存储库中。

答案 2 :(得分:-3)

git修订版ID(几乎)是唯一的。如果您希望旧分支保持可访问,请不要垃圾收集它们;你总是可以通过直接检查他们的版本ID来恢复它们。这将需要调整存储库的.git/config,以避免让git gc清除不再可以直接从任何分支的HEAD访问的修订版。