首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在git中安全地使用共享对象数据库?

如何在git中安全地使用共享对象数据库?
EN

Stack Overflow用户
提问于 2018-03-26 05:31:27
回答 2查看 0关注 0票数 0

我在几个地方读到过可以分享objects多个git存储库之间的目录,例如带有符号链接。我想这样做是为了在同一个目录中的几个裸存储库之间共享对象数据库:

代码语言:txt
复制
shared-objects-database/
foo.git/
  objects -> ../shared-objects-database
bar.git/
  objects -> ../shared-objects-database
baz.git/
  objects -> ../shared-objects-database

(我这样做是因为在每个对象目录中都会有大量冗余存储的大块,否则。)

我担心的是,当使用这些存储库时,git gc将被自动调用,并导致从一个存储库中无法访问的对象被剪除,从而使其他存储库不完整。有什么简单的方法可以确保这种情况不会发生吗?例如,是否有一个配置选项将强制--no-prune默认为git gc,如果是这样的话,这是否足以在不损失数据的情况下使用此设置?

目前,我一直在使用objects/info/alternates在这些存储库之间共享对象的机制,但是将这些指针从每个存储库保持到所有其他存储库是有点麻烦的。

(我的另一种选择是只拥有一个单独的存储库,其中所有的分支都是foo.gitbar.gitbaz.git命名foo-masterfoo-testingbar-master等。但是,这需要管理的工作要多一点,所以如果符号链接对象目录能够安全地工作,我宁愿这样做。)

你可能会猜到,这是那些使用Git的人之一,但我希望这个问题是明确和有效的)

EN

Stack Overflow用户

发布于 2018-03-26 14:07:32

为什么不把gc.pruneExpire变量最多可达never是吗?这是不可能的,你永远不会有松散的对象1000岁,你不想删除。

为了确保真正应该修剪的东西确实被修剪了,可以保留一个回购,其中所有的其他作为遥控器。git gc因为它确实知道什么是不可及的。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100003695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档