показать изменения между коммитами, фиксацией и рабочим деревом и т.д. (Show changes between commits, commit and working tree, etc)
Различный формат для слияний (Diff format for merges)
"git-diff-tree", "git-diff-files" and "git-diff --raw" can take
-c
or --cc
option to generate diff output also for merge commits.
The output differs from the format described above in the
following way:
1. there is a colon for each parent
2. there are more "src" modes and "src" sha1
3. status is concatenated status characters for each parent
4. no optional "score" number
5. tab-separated pathname(s) of the file
For -c
and --cc
, only the destination or final path is shown even
if the file was renamed on any side of history. With
--combined-all-paths
, the name of the path in each parent is
shown followed by the name of the path in the merge commit.
Examples for -c
and --cc
without --combined-all-paths
:
::100644 100644 100644 fabadb8 cc95eb0 4866510 MM desc.c
::100755 100755 100755 52b7a2d 6d1ac04 d2ac7d7 RM bar.sh
::100644 100644 100644 e07d6c5 9042e82 ee91881 RR phooey.c
Examples when --combined-all-paths
added to either -c
or --cc
:
::100644 100644 100644 fabadb8 cc95eb0 4866510 MM desc.c desc.c desc.c
::100755 100755 100755 52b7a2d 6d1ac04 d2ac7d7 RM foo.sh bar.sh bar.sh
::100644 100644 100644 e07d6c5 9042e82 ee91881 RR fooey.c fuey.c phooey.c
Note that combined diff lists only files which were modified from
all parents.