当你输入“git branch”时,有没有办法让 git 分支不再出现,但在历史记录中仍然可以访问,即通过 gitk?我有很多旧的分支我想从我的视线中消失,但我认为没有理由删除历史,即使是在一个拥有 TB 级硬盘的世界中的开发死胡同。
标签可能接近我正在寻找的内容,但我不想在他们的提交消息之外命名我的死胡同。此外,我想要为主线开发历史中特别好的点保留标签。
您可以通过手动使用命令(然后删除分支)在 内部组成自己的命名空间refs/
,例如。refs/historic/foo
update-ref
这种方法的一些注意事项:
git branch
,但它们确实会出现在git log --decorate
和 中gitk
而没有任何额外的选项,您可以使用它git show-ref
来列出所有参考。ls-remote
它们fetch
。但是,归档分支似乎是一种不错的方式,因为它会在浏览历史记录时弹出,可以显式列出,并且不会弄乱分支或标签命名空间。
将旧分支推送到众多免费 Git 托管站点之一上的远程存储库。
git 修订版 ID(几乎)是唯一的。如果您希望旧分支仍然可以访问,请不要垃圾收集它们;您始终可以通过直接查看其修订 ID 来将它们带回来。这将需要调整.git/config
您的存储库,以避免git gc
从任何分支的 HEAD 中直接清除无法直接访问的修订。