solution for GIT GUI client for remote SSH
If your server has it enabled, you can use XForwarding
to display a GUI executed on the remote machine on your local machine.
On the server-side, this means that you need to have the proper tools installed (e.g., git-gui
, which means that you also need Tcl/Tk installed, which means that you also need the X
infrastructure installed).
You also must enable Xforwarding, by making sure that you have a line like the following in your /etc/ssh/sshd_config
:
X11Forwarding yes
To use that on your local Linux machine, you would usually use the -X
flag to enable XForwarding
for a given connection:
shiro@local:~$ ssh -X gituser@gitserver
gituser@gitserver:~$ cd repo.git
gituser@gitserver:~/repo.git$ git gui
On your local OS X machine, you would instead use -Y
:
shiro@applejoice:~$ ssh -Y gituser@gitserver
gituser@gitserver:~$ cd repo.git
gituser@gitserver:~/repo.git$ git gui
You need an Xserver
running on your local machine, in order to use XForwarding
. While this is not a problem on Linux (or OS X), it gets complicated for Win32. There are tutorials on the web for setting up and using Xservers under Win32 (e.g., Xming
).
Aside from VNC / remote X (which is an obvious solution and therefore not worth putting in an answer), the only alternative I can find is Visual Studio Code's new remote development support.
You can connect to a server via ssh (from within Visual Studio Code), and then Visual Studio Code's Git features work natively. The interface is fairly basic however - in particular there is no history view and you can't rebase, cherry-pick, etc. from the GUI. It's basically for staging commits.
This extension gives you a proper git graph view. It's pretty good.