7

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?

Oli
  • 299,380

3 Answers3

5

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.

psusi
  • 38,031
3

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.

Oli
  • 299,380
2

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.

msw
  • 4,696