git - diff of current changes before committing
I have changed several files in a git repository, but have not committed them yet.
I can get a list of the changes by just invoking git status
. But how do I get a listing of the lines or the content that I have changed, in addition to the filenames?
I initially thought about using git diff, but it seems to be useful only for comparing already commited changes.
Usually I just do meld .
, but on this case I'm connected to an external server via ssh.
Solution 1:
git diff
by default shows difference between your working directory and the index (staging area for the next commit).
If you have already added (staged) the changes to the staging area, git diff --staged
does the job. Staging area is the data from which the next commit will be formed by git commit
.
P. S. Good reading (IMO) for Git beginners:
- https://git-scm.com/book/en/v2 (most chapters; it explains the model behind Git and answers most of typical questions)
- and then immediately http://gitready.com/ (usage tips).
Solution 2:
What i use for such cases is:
git diff HEAD *
This will show the changes since last commit. Although somehow it works quicker with
git diff .
or
git diff
To see the changes on previously git add
ed files, use the staged
flag:
git diff --staged