"单个文件" git存储库格式?

时间:2017-08-03 09:44:14

标签: git

TLDR:git本身是否支持存储在单个文件中的本地存储库?

我有很多用例,我主要使用git对本地文件进行更改跟踪,这些文件通过Dropbox / Spideroak进行同步,在某些情况下可以在多台机器之间进行rsync同步。其中许多目录很小(1到10个文件),而.git目录在垃圾回收后包含大约40个文件。

这导致主要文件混乱,因为在许多情况下,.git目录中的文件比版本化文件多十倍,这会减慢备份速度。对于Dropbox / Spideroak,它引入了意外关闭客户端计算机的风险,而只有某些的存储库文件已经同步,从而在其他计算机上放置了一个不一致的存储库,这当然比意外地使用完整存储库的旧版本。

如果可以将本地git存储库存储在单个文件而不是大型目录树中,则可以避免这些问题。我可能很容易自己解决这个问题(在zip命令周围使用unzip / git包装器),但我想知道是否有更方便/官方支持的选项(例如备用文件格式)为本地存储库)。

2 个答案:

答案 0 :(得分:1)

  

将本地git存储库存储在单个文件中,而不是大型目录树中。 ...官方支持的选项(例如本地存储库的备用文件格式)。

听起来像bundle。它将对象和引用组合到单个文件中,以后可以将其称为远程文件。但它不包含配置,挂钩和其他设置。

答案 1 :(得分:1)

在这种情况下,

化石(https://fossil-scm.org/)是解决方法。您只有一个可执行文件,每个存储库只有一个。您可以更新,复制,删除文件,并且如果您运行fossil update或使用同步选项,则您在其他目录中所有打开的存储库都会获得此更改。

相关问题