Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
git_diff [2019/02/20 14:16] – [Whitespace issues] rpjdaygit_diff [2019/03/01 11:58] (current) rpjday
Line 19: Line 19:
 ===== Output of "git diff" ===== ===== Output of "git diff" =====
  
-Default output format is the patch-style difference to change from the first argument to the second arguent:+Default output format is the patch-style difference to change from the first argument to the second argument:
  
 <code> <code>
Line 81: Line 81:
 ===== Path limiting ===== ===== Path limiting =====
  
-Compare only part of the tree-ish objects:+Compare only //part// of the tree-ish objects:
  
 <code> <code>
-$ git diff v4.19 v4.20 -- scripts/dtc+$ git diff v4.19 v4.20 -- scripts/dtc/
 diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile
 index 1c943e03eaf2..056d5da6c477 100644 index 1c943e03eaf2..056d5da6c477 100644
Line 107: Line 107:
  
 <code> <code>
-$ git diff v4.19 v4.20 -- scripts/dtc | wc -l+$ git diff v4.19 v4.20 -- scripts/dtc| wc -l
 2097 2097
 $ $
Line 113: Line 113:
  
 ==== --stat ==== ==== --stat ====
 +
 +Normalized histogram:
  
 <code> <code>
-$ git diff v4.19 v4.20 --stat -- scripts+$ git diff v4.19 v4.20 --stat -- scripts/
  scripts/dtc/checks.c                 | 291 +++++++++++++++++++++++-  scripts/dtc/checks.c                 | 291 +++++++++++++++++++++++-
  scripts/dtc/dtc-lexer.lex.c_shipped  |  10 +-  scripts/dtc/dtc-lexer.lex.c_shipped  |  10 +-
Line 161: Line 163:
 </code> </code>
  
 +===== Comparing two arbitrary files =====
 +
 +General form:
 +
 +<code>
 +$ git diff <commit1>:<file2> <commit2>:<file2>
 +</code>
 +
 +For example, after a rename:
 +
 +<code>
 +$ git diff v4.18:Makefile v4.19:makefile
 +</code>
 +
 +===== Using ".." and "..." =====
 +
 +==== DESCRIPTION ====
 +
 +<code>
 +git diff [<options>] <commit> <commit> [--] [<path>...]
 +    This is to view the changes between two arbitrary <commit>.
 +
 +git diff [<options>] <commit>..<commit> [--] [<path>...]
 +    This is synonymous to the previous form. If <commit> on one
 +    side is omitted, it will have the same effect as using HEAD
 +    instead.
 +
 +git diff [<options>] <commit>...<commit> [--] [<path>...]
 +    This form is to view the changes on the branch containing
 +    and up to the second <commit>, starting at a common
 +    ancestor of both <commit>. "git diff A...B" is equivalent
 +    to "git diff $(git merge-base A B) B". You can omit any one
 +    of <commit>, which has the same effect as using HEAD
 +    instead.
 +</code>
 +
 +==== The initial branches to compare ====
 +
 +<code>
 +$ git show fix_readme
 +commit 5f1992a4245c301ed5e556f4ef47153981a67820 (fix_readme)
 +Author: Robert P. J. Day <rpjday@crashcourse.ca>
 +Date:   Fri Mar 1 05:27:13 2019 -0500
 +
 +    fix readme
 +
 +diff --git a/README.asc b/README.asc
 +index fa40bad..b7f3816 100644
 +--- a/README.asc
 ++++ b/README.asc
 +@@ -1,3 +1,4 @@
 ++stuff in README.asc
 + = Pro Git, Second Edition
 + 
 + Welcome to the second edition of the Pro Git book.
 +</code>
 +
 +<code>
 +$ git show fix_license 
 +commit 65633ac0f606e70db50460502989a7a74dca8e20 (fix_license)
 +Author: Robert P. J. Day <rpjday@crashcourse.ca>
 +Date:   Fri Mar 1 05:26:23 2019 -0500
 +
 +    fix license
 +
 +diff --git a/LICENSE.asc b/LICENSE.asc
 +index 81f2824..19f935b 100644
 +--- a/LICENSE.asc
 ++++ b/LICENSE.asc
 +@@ -1 +1,2 @@
 ++stuff in LICENSE.asc
 + This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
 +</code>
 +
 +==== The basic comparison ====
 +
 +<code>
 +$ git diff fix_readme fix_license
 +diff --git a/LICENSE.asc b/LICENSE.asc
 +index 81f2824..19f935b 100644
 +--- a/LICENSE.asc
 ++++ b/LICENSE.asc
 +@@ -1 +1,2 @@
 ++stuff in LICENSE.asc
 + This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
 +diff --git a/README.asc b/README.asc
 +index b7f3816..fa40bad 100644
 +--- a/README.asc
 ++++ b/README.asc
 +@@ -1,4 +1,3 @@
 +-stuff in README.asc
 + = Pro Git, Second Edition
 + 
 + Welcome to the second edition of the Pro Git book.
 +</code>
 +
 +Using ''..'' means exactly the same thing:
 +
 +<code>
 +$ git diff fix_readme..fix_license
 +diff --git a/LICENSE.asc b/LICENSE.asc
 +index 81f2824..19f935b 100644
 +--- a/LICENSE.asc
 ++++ b/LICENSE.asc
 +@@ -1 +1,2 @@
 ++stuff in LICENSE.asc
 + This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
 +diff --git a/README.asc b/README.asc
 +index b7f3816..fa40bad 100644
 +--- a/README.asc
 ++++ b/README.asc
 +@@ -1,4 +1,3 @@
 +-stuff in README.asc
 + = Pro Git, Second Edition
 + 
 + Welcome to the second edition of the Pro Git book.
 +</code>
 +
 +However, using ''%%...%%'' means something different:
 +
 +<code>
 +$ git diff fix_license...fix_readme
 +diff --git a/README.asc b/README.asc
 +index fa40bad..b7f3816 100644
 +--- a/README.asc
 ++++ b/README.asc
 +@@ -1,3 +1,4 @@
 ++stuff in README.asc
 + = Pro Git, Second Edition
 + 
 + Welcome to the second edition of the Pro Git book.
 +</code>
 ===== Whitespace issues ===== ===== Whitespace issues =====
 +
 +Just scratching the surface:
  
 <code> <code>
  • git_diff.1550672177.txt.gz
  • Last modified: 2019/02/20 14:16
  • by rpjday