通过Syncthing同步Git项目是个好主意吗?

i2loujxw  于 12个月前  发布在  Git
关注(0)|答案(1)|浏览(120)

我正在考虑通过Syncthing同步一个Git项目,但我认为这是一个坏主意,因为有隐藏文件。
你能证实这一点吗?或者Syncthing会正确地做到这一点吗?

nhhxz33t

nhhxz33t1#

一般来说,你不应该通过任何类型的文件同步工具来同步Git仓库,包括Syncthing或任何类似的工具,如Dropbox或iCloud。这是因为Git以非常特定的顺序写入数据,以保持仓库的完整性,并且在仓库没有完全空闲时进行任何类型的同步都可能损坏它。
任何类型的连续文件同步实用程序都会在看到操作发生时进行同步,但它不能也不能保证操作将按照Git执行的确切顺序发生,这使得不可能保留所需的不变量。
如果您这样做,存储库可能最终损坏,或者您可能会看到重复文件的问题,删除后重新出现的文件,或其他难以解释的问题。
只要仓库完全空闲 *,使用rsync * 是安全的。这意味着没有Git进程正在运行,包括git gc或编辑器或shell调用的任何进程。请注意,如果您这样做,由于Git索引的性质,git status将不得不在下次同步时重新读取所有文件。
当然,在任何时候使用git pushgit fetchgit bundle传输数据也是安全的。

相关问题