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