Git GUI客户端远程SSH解决方案



我是一个Git GUI用户。我不介意把它用于我的本地开发。但是,现在我们有了一个带有Git存储库的服务器。我可以远程推,拉和diff使用Git GUI客户端访问吗?

目前,我正在ssh到Linux服务器,并且使用Git命令来执行所有Git命令。但是当涉及到diff时,我发现它非常困难。这就是为什么我认为有任何解决方案可以让我使用Git GUI客户端访问远程存储库并使用Git客户端执行Git命令。

我希望能够在Git存储库中挂载远程服务器。目前我们只需要打开本地磁盘上的Git存储库。例如,C:wwwrepo。git 文件。如果我想访问10.10.10.10/home/www/呢?git并在git客户端执行所有的git命令?

OS X和Windows的解决方案是开放的。

除了VNC/remote X(这是一个明显的解决方案,因此不值得给出答案),我能找到的唯一替代方案是Visual Studio Code的新远程开发支持。

你可以通过ssh连接到服务器(在Visual Studio Code中),然后Visual Studio Code的Git特性可以本地工作。然而,它的界面是相当基本的——特别是没有历史视图,你不能从GUI中重基、挑选等。它主要用于分段提交。

这个扩展给你一个合适的git图形视图。

如果您的服务器启用了它,您可以使用XForwarding在本地机器上显示在远程机器上执行的GUI。

在服务器端,这意味着您需要安装适当的工具(例如,git-gui,这意味着您还需要安装Tcl/Tk,这意味着您还需要安装X基础设施)。

您还必须启用Xforwarding,通过确保在/etc/ssh/sshd_config中有如下一行:

X11Forwarding yes

要在本地Linux机器上使用它,您通常会使用-X标志来为给定的连接启用XForwarding:

 shiro@local:~$ ssh -X gituser@gitserver
 gituser@gitserver:~$ cd repo.git
 gituser@gitserver:~/repo.git$ git gui

在本地OS X机器上,您可以使用-Y:

 shiro@applejoice:~$ ssh -Y gituser@gitserver
 gituser@gitserver:~$ cd repo.git
 gituser@gitserver:~/repo.git$ git gui

为了使用XForwarding,您需要在本地机器上运行Xserver。虽然这在Linux(或OS X)上不是问题,但在Win32上就变得复杂了。web上有关于在Win32(例如,Xming)下设置和使用xserver的教程。

首先,当涉及到diff时,您可以简单地git获取您的repo,并在本地(使用git gui)执行diff,因为您有所有的历史记录。

第二,如果您有ssh访问服务器,您不需要实际打开ssh会话。

一个简单的git command git@gitserver:/path/to/git/project.git就足够了(replace "command";与克隆/推/拉/取)

请参阅Git on the Server - setup the Server获取ssh安装,至少在Linux或Mac上。
对于Windows,您可以考虑其他ssh服务器,如copssh-free-edition


但是现在我们团队出现了这个问题,而我是GIT的唯一负责人。这就是为什么我寻求帮助如何解决这个

然后你需要ssh到服务器,git add和git commit在那里的repo,然后回到你的本地工作站,克隆或获取,并在那里做区别。——

您可以使用SSHFS将远程路径挂载为本地机器文件路径

 sshfs root@xxx.com:/root/yourpath /Users/xxxx/xxx

最新更新