How to view file diff in git before commit
If you want to see what you haven't git add
ed yet:
git diff myfile.txt
or if you want to see already added changes
git diff --cached myfile.txt
git diff HEAD file
will show you changes you added to your worktree from the last commit. All the changes (staged or not staged) will be shown.
To check for local differences:
git diff myfile.txt
or you can use a diff tool (in case you'd like to revert some changes):
git difftool myfile.txt
To use git difftool
more efficiently, install and use your favourite GUI tool such as Meld, DiffMerge or OpenDiff.
Note: You can also use .
(instead of filename) to see current dir changes.
In order to check changes per each line, use: git blame
which will display which line was commited in which commit.
To view the actual file before the commit (where master
is your branch), run:
git show master:path/my_file
Another technique to consider if you want to compare a file to the last commit which is more pedantic:
git diff master myfile.txt
The advantage with this technique is you can also compare to the penultimate commit with:
git diff master^ myfile.txt
and the one before that:
git diff master^^ myfile.txt
Also you can substitute '~' for the caret '^' character and 'you branch name' for 'master' if you are not on the master branch.
Did you try -v
(or --verbose
) option for git commit
? It adds the diff of the commit in the message editor.