My GIT repo is stored on a remote Linux server that I'm accessing from my Windows PC through Netbeans.

Once my changes are done I would like to review them quickly before committing.

The server has no graphical components so I can't launch "gitk" from there. I'm not very comfortable with a text diff on the server with "git diff" command. It is not readable enough for me.

msysgit is installed on my Windows PC. I would like to launch a kind of remote "gitk" command from my PC but couldn't find a way to do it. Didn't find anything on the web related to this.

Any other "graphical" way to do this would be convenient.

Any idea how to do this?

Thanks in advance


To clarify my workflow (since my question seems to lack clarity):

  1. I work on my code with Netbeans IDE on a local copy of my remote working repository. This copy has no versioning. The synchronization is done through SFTP. Meaning, at project creation Netbeans makes a SFTP GET of the entire repo localy. Then, when I save my changes (on local copy) Netbeans automatically makes a SFTP PUT to the remote repo through SFTP to keep in sync.

  2. The working repository on the web server (Linux based) has git versioning. Hence keeping track of the same changes that I made on the Windows copy.

  3. For simplicity reasons (I'm working alone on this project so far) I don't want to clone the working repo or create a different branch than master. Hence I'm working on this unique repository and directly with the master branch.

  4. Once a development is done and tested (my changes are not yet staged for commit) I want to have a last look at them before committing. To achieve this I would like to use a graphical tool. I have msysgit installed on the windows PC but I didn't find a way to load a remote repository to my local gitk through SSH (I don't think it is possible).

Finaly: I'm looking for a way to do this with gitk or any other tool. I didn't find one so far. git-cola for instance doesn't propose anything but loading local repos.

I found a solution proposed here: https://stackoverflow.com/questions/6810820/git-gui-when-on-a-remote-server

But I'm wondering if a simpler solution exists.


The idea of this question was not to start a debate on which tool is better for my concern. It was: how to do it the best way WHATEVER the tool is.

Anyway, here is the workflow I'm finally using for those interested:

  1. The working repo is on the Linux server.
  2. Netbeans (or whatever the tool is) is editing a local copy of this remote working repo on windows. The "download from" and "upload to" the remote repo are made through a ssh connection. So remote repo and local repo are always synchronized. The simplest way to look at what was done since last commit on the repo is to make the windows local repo a git working repo and launch gitk from there.

Only inconvenience is not to forget to commit the local repo when I commit the remote one to get same diffs between last commit and current.

Hopefully it will help other persons with same concern.

closed as off-topic by Dan Pichelman, user40980, GlenH7, jwenting, Bart van Ingen Schenau Feb 28 '14 at 11:10

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – Dan Pichelman, Community, GlenH7, jwenting, Bart van Ingen Schenau
If this question can be reworded to fit the rules in the help center, please edit the question.


It sounds like you're not understanding a key feature to Git. Git is a distributed version control system. This differs from a centralized revision control system because a repository's entire history can exist in many places at once.

When you make a commit using git, this commit is on your computer only. When you make a new branch, this branch exists on your computer only. You can do this many times making hundreds of commits on different branches and the only place they will exist is on your computer. That is, until you push those commits + branches or someone else fetches them.

This brings in the concept of remotes. Remotes are simply other locations of the same repository. You could have a remote on your server, on GitHub or even another location on the same computer. With the right setup you can push commits to remotes and you can fetch commits from the remotes.

Using one of the Gui's listed here you can get a good view of a repository's history. The gui will show you where different branches are located both on your local repository and on any remotes that your local repo knows about. In order to get new information about remote repositories you need to do a fetch.

It is safe to assume that if a given branch is at commit X then any of X's parent commits are also applied to that branch.

  • 2
    I understand what GIT is, believe me. :-) I worked for years in a distributed environment with hundreds of developers in continuous integration. Now I'm working alone and for simplicity reasons I work directly on the main branch of the remote Linux test server working repo. I don't need a heavy process but I'm prepared for the future and get versioning of my work. My initial problem is/was just to find a way to display graphically on my windows PC code differences (between unstaged and previous commits) of the remote linux repo. It seems a few tools can achieve this. Thanks for your inputs. – Nitseg Feb 27 '14 at 14:23

Not the answer you're looking for? Browse other questions tagged or ask your own question.