As part of my work I regularly commit to git. I have a fabric script that does an interactive commit: git commit -a which shows me which files have changed in nano and then lets me write a commit message.

The problem with this flow is sometimes I need to know what changes I've made inside a file. I was doing a ton of stuff at 3am this morning and I can't for the life of me remember what I was doing. I have to manually git diff to see the changes.

Is there a graphical application that can help me out here? It still needs to be scripted from fabric but in a perfect world it would be a textbox, a list of changed files and a meld-like window showing diffs based on the file I selected. Does such a glorious thing exist?

  • Could we make this a one-application-per-answer kind of answer? – Nitin Venkatesh Feb 20 '13 at 15:55
  • Are you interested in full IDEs that include this functionality among tons of others, or only in stand alone programs?. – Javier Rivera Feb 20 '13 at 16:06
  • This is certainly related to askubuntu.com/questions/227554/best-gui-client-for-git but I'm really just after a dialogue that can show me the current diff (broken down by file) that also allows me to set a commit message. git citool is more than functional enough but it looks worse than a foot. – Oli Feb 20 '13 at 16:14
  • It seems that giggle can show uncommited changes. – N.N. Feb 21 '13 at 10:12

I normally just use git gui. It shows the list staged and unstaged changed files, and shows their diffs, and lets you selectively stage hunks, add a log message, and commit. Even has a nice knob to amend the last commit instead.


The git-gui package has a citool extension for git that seems to have this sole goal in mind.

sudo apt-get install git-gui
# make some changes in your branch
git citool

It is as ugly as sin in KDE though and there's no schmancy meld-diff. So I'll keep looking.


Plenty of choices and suggestions at https://stackoverflow.com/questions/1516720/git-gui-client-for-linux

I don't use git so don't have an opinion.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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