我喜欢使用桌面版 Google 云端硬盘。我喜欢将所有内容都放在云端,因为集中所有内容可以使事情变得井井有条。
但是,Git 目录位于这样的同步驱动器中是否危险?
危险的定义:
“.git”与“所有跟踪文件”不一致。(同步工具可能会在不同时间更改 .git 及其跟踪文件,这可能会在您提交某些内容或推送某些内容时导致灾难。
让同步工具更改 .git 的所有其他可能的副作用
Dai*_*Dai 12
我喜欢将所有内容都放在云端,因为集中所有内容使事情变得井然有序。
就我个人而言,我通常会避免文件夹同步服务或云托管文件夹(例如 OneDrive、Google Drive、DropBox 等),因为它们都致力于为用户提供简单易用的体验,但考虑到CAP 定理,这是不可能做到的适用于文件夹同步服务:因此这些服务通常拒绝让其用户拥有详细的冲突解决工具 - 以及它们无法跟踪文件分割等更改,甚至克隆文件(看看你,OneDrive .. .)只会引起头痛。
将git目录放入drivesync工具有危险吗
是的
但它也没有实际意义,因为它git已经是一个用于保持存储库同步的工具(和整个生态系统):只需从 Google Drive 中排除您的存储库,并使用 GitHub、BitBucket 或您自己的自托管 git 服务器从 NAS 等托管您的存储库。
至于为什么危险:
git工具假定它对您的存储库目录具有独占访问权限,.git并且其他软件在处理文件
时不会偷看这些文件。gitgit 确实使用操作系统提供的文件锁和其他 IPC 手段来确保对其文件的独占访问,但第三方文件夹同步软件不会尊重 git 自己的 IPC 锁。.git目录可能处于有效状态,但同步服务保存的目录副本.git可能处于损坏状态(所以不要恢复它!)因为(据我所知)没有第三方文件夹同步服务尝试创建.git目录的事务正确的快照副本。
.git与“所有跟踪文件”不一致。(同步工具可能会.git在不同时间随其跟踪文件发生变化,这可能会在您提交某些内容或推送某些内容时导致灾难。
有点。正如我所说,风险在于,当同步工具复制本地存储库时,同步服务的文件夹远程副本可能会包含不一致的目录副本,直到您随后进行操作.git后,问题才会显现出来。从 Google Drive 或 DropBox下载您的文件夹。
让同步工具更改的所有其他可能的副作用
.git
太多了,无法一一提及。只是不要让它发生。
这个流行的 QA特点是人们声称他们的 Git 存储库与 DropBox 一起使用,但高票数评论警告说,他们的方法不会扩展到单个用户之外(而且无论如何你都不应该共享 git 存储库)。