我将所有的dotfiles保存在git存储库中。这对我来说很好,但问题是我在工作中使用了几台没有Git的服务器,而且我真的不允许把Git放在上面。基本上,我想知道实现同步我的dotfiles的回退计划的最佳方法是在没有找到git的情况下。这些机器上有'em-rsync,wget,curl,perl等所有其他标准的UNIX东西。而且我似乎记得读过git与rsync兼容的地方......
答案 0 :(得分:0)
您可以在git fetch
/ git push
中使用rsync://网址,但值得一提的是,如果传输机制不在远程端使用git(即“哑协议”) git术语),它将很多更慢,效率更低。特别是,如果远程服务器根本没有可用的git二进制文件,则不会使用增量压缩,这意味着存储库将拥有所有文件的所有版本的完整副本。
如果您决定使用哑协议,则可能必须先将骨架空(裸)存储库复制到远程端,然后再将其推送到远程端。您可能还必须找到某种方法偶尔将git update-server-info
的输出放入远程存储库,以便哑协议可以查看存储库中存在哪些分支。
答案 1 :(得分:0)
如果您只打算以一种方式同步,则可以设置hooks在每次提交时rsync您的dotfiles,这可能是一个“足够好”的后备。
答案 2 :(得分:0)
您可以使用sshfs将服务器挂载到本地计算机上。 你将在本地运行git,但文件在服务器上。