Is there a graphical git commit application to show diffs and set a commit message?
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?
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.