Advertisement
Advertisement


Show diff between commits


Question

I am using Git on Ubuntu 10.04 (Lucid Lynx).

I have made some commits to my master.

However, I want to get the difference between these commits. All of them are on my master branch.

For example:

commit dj374
made changes

commit y4746
made changes

commit k73ud
made changes

I want to get the difference between k73ud and dj374. However, when I did the following I couldn't see the changes I made in k73ud.

git diff k73ud..dj374 > master.patch
2018/01/28
1
251
1/28/2018 9:24:40 PM

Accepted Answer

Try

git diff k73ud^..dj374

to make sure to include all changes of k73ud in the resulting diff.

git diff compares two endpoints (instead of a commit range). Since the OP want to see the changes introduced by k73ud, he/she needs to difference between the first parent commit of k73ud: k73ud^ (or k73ud^1 or k73ud~).

That way, the diff results will include changes since k73ud parent (meaning including changes from k73ud itself), instead of changes introduced since k73ud (up to dj374).

Also you can try:

git diff oldCommit..newCommit
git diff k73ud..dj374 

and (1 space, not more):

git diff oldCommit newCommit
git diff k73ud dj374

And if you need to get only files names (e.g. to copy hotfix them manually):

git diff k73ud dj374 --name-only

And you can get changes applied to another branch:

git diff k73ud dj374 > my.patch
git apply my.patch
2019/01/18
290
1/18/2019 2:58:14 PM


If you want to see the changes introduced with each commit, try "git log -p"

2010/07/30

  1. gitk --all
  2. Select the first commit
  3. Right click on the other, then diff selected → this
2018/01/28

I use gitk to see the difference:

gitk k73ud..dj374

It has a GUI mode so that reviewing is easier.

2018/01/28

To see the difference between two different commits (let's call them a and b), use

git diff a..b
  • Note that the difference between a and b is opposite from b and a.

To see the difference between your last commit and not yet committed changes, use

git diff

If you want to be able to come back to the difference later, you can save it in a file.

git diff a..b > ../project.diff
2018/01/24

Simplest for checking the changes in the last 2 commits after pull:

git diff HEAD~2 
2018/09/14

Source: https://stackoverflow.com/questions/3368590
Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Email: [email protected]