在sshfs上使用git太慢了

ban*_*yan 23 git sshfs

我在sshfs上使用git(在Mac OS X 10,5,10.7下)但它太慢了.

每次我直接登录远程服务器,都要使用git命令.

我试过这篇文章http://kerneltrap.org/mailarchive/git/2008/10/23/3768494然而它不起作用.

有谁知道任何好主意?

Ago*_*ath 20

你可以选择其他一些文件系统.SSHFS主要是一种便利工具.例如,MacOS支持NFS挂载,而且速度很快.

另一种方法是使用rsync或unison('双向rsync'工具).这些在远程和本地文件系统之间实现了快速同步.再加上一些用于远程编译/运行的快速shell别名,这是一个很好的解决方法.

另一种方法是通过VNC/X11远程运行您的开发环境.这使得IDE稍微缓慢,但代码不需要同步.

上述的混合是制作删除服务器的虚拟机克隆,在本地机器上运行它,并通过VM或两者之间的某些本地NFS共享文件夹.

你也可以调整sshfs.有一些调整挂载选项,您也可以关闭加密.它总体上提供了大约2倍的加速,所以不要指望奇迹.

和海报一样,我多年来一直在寻找解决方案,但是没有这样做,我不幸地与微调的sshfs,偶尔的rsyncs和耐心相结合.

  • Ceasar:因为git status将所有签出的文件与repo进行比较以查看是否有更改.这是一个很小的IO,这是sshfs因为高延迟而非常糟糕的. (8认同)
  • 有什么想法,特别是为什么git这么慢?其他一切似乎都没问题,但是"git status"是无法忍受的. (2认同)

o_O*_*o_O 8

我知道这很老了但我每天都遇到这个问题.我有一个非常复杂的环境,在本地重建几乎是不可能的/冗长的.我们到处都有东西,并与第三方API cPanel API等合作.

对我有用的唯一解决方案是在sshfs上本地挂载和处理文件,但是当它是git的时候我打开了一个终端窗口,它只是ssh'd,这对我有用.有没有理由你不能/不想打开终端?否则,这似乎是最快的解决方案,对我来说最可靠.


Luk*_*404 0

如果我理解正确的话,您将通过 sshfs 直接访问 git 存储库。

git 的全部意义在于分布式并且能够推送/拉动,那么为什么不将存储库克隆到本地文件系统呢?请记住,git clone 也可以从文件系统运行,您不需要从“网络”(ssh、http、git 等)存储库进行克隆。

$ git clone /my_sshfs_mountpoint/repo
Run Code Online (Sandbox Code Playgroud)

你就准备好摇滚了。git push完成后记得支持你的工作。

  • 正如我上面所说,可以克隆到我的本地计算机。但远程服务器的环境非常复杂,每台本地机器都做到这一点确实很困难。所以 sshfs 一切都很好,但唯一的 git 命令速度是一个问题。谢谢。 (2认同)
  • 即使服务器上有 git,您也可能想在本地计算机上运行一个不错的客户端 =] (2认同)