9

当你输入“git branch”时,有没有办法让 git 分支不再出现,但在历史记录中仍然可以访问,即通过 gitk?我有很多旧的分支我想从我的视线中消失,但我认为没有理由删除历史,即使是在一个拥有 TB 级硬盘的世界中的开发死胡同。

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

4

3 回答 3

6

您可以通过手动使用命令(然后删除分支)在 内部组成自己的命名空间refs/,例如。refs/historic/fooupdate-ref

这种方法的一些注意事项:

  • 它们不会出现在 中git branch,但它们确实会出现在git log --decorate和 中gitk而没有任何额外的选项,您可以使用它git show-ref来列出所有参考。
  • 它们不会自动获取,因此如果您想要运输它们,您必须手动使用ls-remote它们fetch

但是,归档分支似乎是一种不错的方式,因为它会在浏览历史记录时弹出,可以显式列出,并且不会弄乱分支或标签命名空间。

于 2011-03-03T06:17:04.380 回答
4

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

于 2011-03-03T16:12:58.117 回答
-3

git 修订版 ID(几乎)是唯一的。如果您希望旧分支仍然可以访问,请不要垃圾收集它们;您始终可以通过直接查看其修订 ID 来将它们带回来。这将需要调整.git/config您的存储库,以避免git gc从任何分支的 HEAD 中直接清除无法直接访问的修订。

于 2011-03-03T05:15:10.300 回答