Ubuntu – graphical git commit application to show diffs and set a commit message

gitsoftware-recommendation

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?

Best Answer

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.