我的公司有一个分布式系统,其中远程CentOS机器分配工作人员的主目录,我们所有的git repos都在上面工作,构建和执行。
在我的本地机器(Ubuntu)上,我通过NFS挂载了远程主目录,以便能够使用我最喜欢的IDE编辑文件。
为了管理版本控制,我想在我的本地机器上使用GitKraken(没有SSH隧道),但速度很慢。如果我使用git从命令行连接远程机器通过SSH性能正常。如果我在本地执行相同的操作,它会变慢,但仍然可用。我猜GitKraken在后台做了更多的操作,这导致了累积的延迟。
是否有改进性能的方法或更好的方法来满足这些要求?能够在本地使用GitKraken和vsc。
我已经尝试了一些事情,比如:用systemd, sshfs挂载,用git gc
清理存储库,在我的本地机器上刷新git索引(因为我已经读到它可能会影响CentOS和Debian的创建),改进NFS选项和缓存…
PS:我有一个疯狂的想法来提高Git的性能。我在本地机器上创建了一个Git别名,它首先通过SSH连接到远程机器:
alias git='ssh -A <user>@<host> "cd ${PWD} && git"'
与在nfs挂载的存储库上使用Git相比,这显著提高了性能。
虽然我知道使用Git配置代理可能有进一步提高性能的方法,虽然这种方法有其不便之处,但在我的情况下,它是可以接受的。然而,我的主要兴趣是使用GitKraken。
由于GitKraken使用自己的Git实现(libgit2),它不依赖于安装在裸机上的Git。在那方面,我无能为力。
理想情况下,您将只在远程CentOS机器上存储裸存储库。
这样,你就可以:
- 本地克隆
- 本地工作(通过CLI或GitKraken添加/提交/推送)
- 推
因此,您的大部分日常操作将是本地操作。