/usr/share/doc/git
Raw output format ----------------- The raw output format from "git-diff-index", "git-diff-tree", "git-diff-files" and "git diff --raw" are very similar. These commands all compare two sets of things; what is compared differs: git-diff-index <tree-ish>:: compares the <tree-ish> and the files on the filesystem. git-diff-index --cached <tree-ish>:: compares the <tree-ish> and the index. git-diff-tree [-r] <tree-ish-1> <tree-ish-2> [<pattern>...]:: compares the trees named by the two arguments. git-diff-files [<pattern>...]:: compares the index and the files on the filesystem. The "git-diff-tree" command begins its output by printing the hash of what is being compared. After that, all the commands print one output line per changed file. An output line is formatted this way: ------------------------------------------------ in-place edit :100644 100644 bcd1234 0123456 M file0 copy-edit :100644 100644 abcd123 1234567 C68 file1 file2 rename-edit :100644 100644 abcd123 1234567 R86 file1 file3 create :000000 100644 0000000 1234567 A file4 delete :100644 000000 1234567 0000000 D file5 unmerged :000000 000000 0000000 0000000 U file6 ------------------------------------------------ That is, from the left to the right: . a colon. . mode for "src"; 000000 if creation or unmerged. . a space. . mode for "dst"; 000000 if deletion or unmerged. . a space. . sha1 for "src"; 0\{40\} if creation or unmerged. . a space. . sha1 for "dst"; 0\{40\} if deletion, unmerged or "work tree out of sync with the index". . a space. . status, followed by optional "score" number. . a tab or a NUL when `-z` option is used. . path for "src" . a tab or a NUL when `-z` option is used; only exists for C or R. . path for "dst"; only exists for C or R. . an LF or a NUL when `-z` option is used, to terminate the record. Possible status letters are: - A: addition of a file - C: copy of a file into a new one - D: deletion of a file - M: modification of the contents or mode of a file - R: renaming of a file - T: change in the type of the file (regular file, symbolic link or submodule) - U: file is unmerged (you must complete the merge before it can be committed) - X: "unknown" change type (most probably a bug, please report it) Status letters C and R are always followed by a score (denoting the percentage of similarity between the source and target of the move or copy). Status letter M may be followed by a score (denoting the percentage of dissimilarity) for file rewrites. The sha1 for "dst" is shown as all 0's if a file on the filesystem is out of sync with the index. Example: ------------------------------------------------ :100644 100644 5be4a4a 0000000 M file.c ------------------------------------------------ Without the `-z` option, pathnames with "unusual" characters are quoted as explained for the configuration variable `core.quotePath` (see linkgit:git-config[1]). Using `-z` the filename is output verbatim and the line is terminated by a NUL byte. 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: . there is a colon for each parent . there are more "src" modes and "src" sha1 . status is concatenated status characters for each parent . no optional "score" number . 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. include::diff-generate-patch.txt[] other diff formats ------------------ The `--summary` option describes newly added, deleted, renamed and copied files. The `--stat` option adds diffstat(1) graph to the output. These options can be combined with other options, such as `-p`, and are meant for human consumption. When showing a change that involves a rename or a copy, `--stat` output formats the pathnames compactly by combining common prefix and suffix of the pathnames. For example, a change that moves `arch/i386/Makefile` to `arch/x86/Makefile` while modifying 4 lines will be shown like this: ------------------------------------ arch/{i386 => x86}/Makefile | 4 +-- ------------------------------------ The `--numstat` option gives the diffstat(1) information but is designed for easier machine consumption. An entry in `--numstat` output looks like this: ---------------------------------------- 1 2 README 3 1 arch/{i386 => x86}/Makefile ---------------------------------------- That is, from left to right: . the number of added lines; . a tab; . the number of deleted lines; . a tab; . pathname (possibly with rename/copy information); . a newline. When `-z` output option is in effect, the output is formatted this way: ---------------------------------------- 1 2 README NUL 3 1 NUL arch/i386/Makefile NUL arch/x86/Makefile NUL ---------------------------------------- That is: . the number of added lines; . a tab; . the number of deleted lines; . a tab; . a NUL (only exists if renamed/copied); . pathname in preimage; . a NUL (only exists if renamed/copied); . pathname in postimage (only exists if renamed/copied); . a NUL. The extra `NUL` before the preimage path in renamed case is to allow scripts that read the output to tell if the current record being read is a single-path record or a rename/copy record without reading ahead. After reading added and deleted lines, reading up to `NUL` would yield the pathname, but if that is `NUL`, the record will show two paths.
.
Edit
..
Edit
BreakingChanges.txt
Edit
CODE_OF_CONDUCT.md
Edit
DecisionMaking.html
Edit
DecisionMaking.txt
Edit
MyFirstContribution.html
Edit
MyFirstContribution.txt
Edit
MyFirstObjectWalk.html
Edit
MyFirstObjectWalk.txt
Edit
README.md
Edit
RelNotes
Edit
ReviewingGuidelines.html
Edit
ReviewingGuidelines.txt
Edit
SubmittingPatches.html
Edit
SubmittingPatches.txt
Edit
ToolsForGit.html
Edit
ToolsForGit.txt
Edit
blame-options.txt
Edit
cmds-ancillaryinterrogators.txt
Edit
cmds-ancillarymanipulators.txt
Edit
cmds-developerinterfaces.txt
Edit
cmds-foreignscminterface.txt
Edit
cmds-guide.txt
Edit
cmds-mainporcelain.txt
Edit
cmds-plumbinginterrogators.txt
Edit
cmds-plumbingmanipulators.txt
Edit
cmds-purehelpers.txt
Edit
cmds-synchelpers.txt
Edit
cmds-synchingrepositories.txt
Edit
cmds-userinterfaces.txt
Edit
config.txt
Edit
contrib
Edit
date-formats.txt
Edit
diff-format.txt
Edit
diff-generate-patch.txt
Edit
diff-options.txt
Edit
docbook-xsl.css
Edit
docinfo.html
Edit
everyday.html
Edit
fetch-options.txt
Edit
fsck-msgids.txt
Edit
git-add.html
Edit
git-add.txt
Edit
git-am.html
Edit
git-am.txt
Edit
git-annotate.html
Edit
git-annotate.txt
Edit
git-apply.html
Edit
git-apply.txt
Edit
git-archive.html
Edit
git-archive.txt
Edit
git-bisect-lk2009.html
Edit
git-bisect-lk2009.txt
Edit
git-bisect.html
Edit
git-bisect.txt
Edit
git-blame.html
Edit
git-blame.txt
Edit
git-branch.html
Edit
git-branch.txt
Edit
git-bugreport.html
Edit
git-bugreport.txt
Edit
git-bundle.html
Edit
git-bundle.txt
Edit
git-cat-file.html
Edit
git-cat-file.txt
Edit
git-check-attr.html
Edit
git-check-attr.txt
Edit
git-check-ignore.html
Edit
git-check-ignore.txt
Edit
git-check-mailmap.html
Edit
git-check-mailmap.txt
Edit
git-check-ref-format.html
Edit
git-check-ref-format.txt
Edit
git-checkout-index.html
Edit
git-checkout-index.txt
Edit
git-checkout.html
Edit
git-checkout.txt
Edit
git-cherry-pick.html
Edit
git-cherry-pick.txt
Edit
git-cherry.html
Edit
git-cherry.txt
Edit
git-clean.html
Edit
git-clean.txt
Edit
git-clone.html
Edit
git-clone.txt
Edit
git-column.html
Edit
git-column.txt
Edit
git-commit-graph.html
Edit
git-commit-graph.txt
Edit
git-commit-tree.html
Edit
git-commit-tree.txt
Edit
git-commit.html
Edit
git-commit.txt
Edit
git-config.html
Edit
git-config.txt
Edit
git-contacts.html
Edit
git-contacts.txt
Edit
git-count-objects.html
Edit
git-count-objects.txt
Edit
git-credential-cache--daemon.html
Edit
git-credential-cache--daemon.txt
Edit
git-credential-cache.html
Edit
git-credential-cache.txt
Edit
git-credential-store.html
Edit
git-credential-store.txt
Edit
git-credential.html
Edit
git-credential.txt
Edit
git-describe.html
Edit
git-describe.txt
Edit
git-diagnose.html
Edit
git-diagnose.txt
Edit
git-diff-files.html
Edit
git-diff-files.txt
Edit
git-diff-index.html
Edit
git-diff-index.txt
Edit
git-diff-tree.html
Edit
git-diff-tree.txt
Edit
git-diff.html
Edit
git-diff.txt
Edit
git-difftool.html
Edit
git-difftool.txt
Edit
git-fast-export.html
Edit
git-fast-export.txt
Edit
git-fast-import.html
Edit
git-fast-import.txt
Edit
git-fetch-pack.html
Edit
git-fetch-pack.txt
Edit
git-fetch.html
Edit
git-fetch.txt
Edit
git-filter-branch.html
Edit
git-filter-branch.txt
Edit
git-fmt-merge-msg.html
Edit
git-fmt-merge-msg.txt
Edit
git-for-each-ref.html
Edit
git-for-each-ref.txt
Edit
git-for-each-repo.html
Edit
git-for-each-repo.txt
Edit
git-format-patch.html
Edit
git-format-patch.txt
Edit
git-fsck-objects.html
Edit
git-fsck-objects.txt
Edit
git-fsck.html
Edit
git-fsck.txt
Edit
git-fsmonitor--daemon.html
Edit
git-fsmonitor--daemon.txt
Edit
git-gc.html
Edit
git-gc.txt
Edit
git-get-tar-commit-id.html
Edit
git-get-tar-commit-id.txt
Edit
git-grep.html
Edit
git-grep.txt
Edit
git-hash-object.html
Edit
git-hash-object.txt
Edit
git-help.html
Edit
git-help.txt
Edit
git-hook.html
Edit
git-hook.txt
Edit
git-http-backend.html
Edit
git-http-backend.txt
Edit
git-http-fetch.html
Edit
git-http-fetch.txt
Edit
git-http-push.html
Edit
git-http-push.txt
Edit
git-imap-send.html
Edit
git-imap-send.txt
Edit
git-index-pack.html
Edit
git-index-pack.txt
Edit
git-init-db.html
Edit
git-init-db.txt
Edit
git-init.html
Edit
git-init.txt
Edit
git-interpret-trailers.html
Edit
git-interpret-trailers.txt
Edit
git-log.html
Edit
git-log.txt
Edit
git-ls-files.html
Edit
git-ls-files.txt
Edit
git-ls-remote.html
Edit
git-ls-remote.txt
Edit
git-ls-tree.html
Edit
git-ls-tree.txt
Edit
git-mailinfo.html
Edit
git-mailinfo.txt
Edit
git-mailsplit.html
Edit
git-mailsplit.txt
Edit
git-maintenance.html
Edit
git-maintenance.txt
Edit
git-merge-base.html
Edit
git-merge-base.txt
Edit
git-merge-file.html
Edit
git-merge-file.txt
Edit
git-merge-index.html
Edit
git-merge-index.txt
Edit
git-merge-one-file.html
Edit
git-merge-one-file.txt
Edit
git-merge-tree.html
Edit
git-merge-tree.txt
Edit
git-merge.html
Edit
git-merge.txt
Edit
git-mergetool--lib.html
Edit
git-mergetool--lib.txt
Edit
git-mergetool.html
Edit
git-mergetool.txt
Edit
git-mktag.html
Edit
git-mktag.txt
Edit
git-mktree.html
Edit
git-mktree.txt
Edit
git-multi-pack-index.html
Edit
git-multi-pack-index.txt
Edit
git-mv.html
Edit
git-mv.txt
Edit
git-name-rev.html
Edit
git-name-rev.txt
Edit
git-notes.html
Edit
git-notes.txt
Edit
git-pack-objects.html
Edit
git-pack-objects.txt
Edit
git-pack-redundant.html
Edit
git-pack-redundant.txt
Edit
git-pack-refs.html
Edit
git-pack-refs.txt
Edit
git-patch-id.html
Edit
git-patch-id.txt
Edit
git-prune-packed.html
Edit
git-prune-packed.txt
Edit
git-prune.html
Edit
git-prune.txt
Edit
git-pull.html
Edit
git-pull.txt
Edit
git-push.html
Edit
git-push.txt
Edit
git-quiltimport.html
Edit
git-quiltimport.txt
Edit
git-range-diff.html
Edit
git-range-diff.txt
Edit
git-read-tree.html
Edit
git-read-tree.txt
Edit
git-rebase.html
Edit
git-rebase.txt
Edit
git-receive-pack.html
Edit
git-receive-pack.txt
Edit
git-reflog.html
Edit
git-reflog.txt
Edit
git-refs.html
Edit
git-refs.txt
Edit
git-remote-ext.html
Edit
git-remote-ext.txt
Edit
git-remote-fd.html
Edit
git-remote-fd.txt
Edit
git-remote-helpers.html
Edit
git-remote.html
Edit
git-remote.txt
Edit
git-repack.html
Edit
git-repack.txt
Edit
git-replace.html
Edit
git-replace.txt
Edit
git-replay.html
Edit
git-replay.txt
Edit
git-request-pull.html
Edit
git-request-pull.txt
Edit
git-rerere.html
Edit
git-rerere.txt
Edit
git-reset.html
Edit
git-reset.txt
Edit
git-restore.html
Edit
git-restore.txt
Edit
git-rev-list.html
Edit
git-rev-list.txt
Edit
git-rev-parse.html
Edit
git-rev-parse.txt
Edit
git-revert.html
Edit
git-revert.txt
Edit
git-rm.html
Edit
git-rm.txt
Edit
git-send-pack.html
Edit
git-send-pack.txt
Edit
git-sh-i18n--envsubst.html
Edit
git-sh-i18n--envsubst.txt
Edit
git-sh-i18n.html
Edit
git-sh-i18n.txt
Edit
git-sh-setup.html
Edit
git-sh-setup.txt
Edit
git-shell.html
Edit
git-shell.txt
Edit
git-shortlog.html
Edit
git-shortlog.txt
Edit
git-show-branch.html
Edit
git-show-branch.txt
Edit
git-show-index.html
Edit
git-show-index.txt
Edit
git-show-ref.html
Edit
git-show-ref.txt
Edit
git-show.html
Edit
git-show.txt
Edit
git-sparse-checkout.html
Edit
git-sparse-checkout.txt
Edit
git-stage.html
Edit
git-stage.txt
Edit
git-stash.html
Edit
git-stash.txt
Edit
git-status.html
Edit
git-status.txt
Edit
git-stripspace.html
Edit
git-stripspace.txt
Edit
git-submodule.html
Edit
git-submodule.txt
Edit
git-switch.html
Edit
git-switch.txt
Edit
git-symbolic-ref.html
Edit
git-symbolic-ref.txt
Edit
git-tag.html
Edit
git-tag.txt
Edit
git-tools.html
Edit
git-tools.txt
Edit
git-unpack-file.html
Edit
git-unpack-file.txt
Edit
git-unpack-objects.html
Edit
git-unpack-objects.txt
Edit
git-update-index.html
Edit
git-update-index.txt
Edit
git-update-ref.html
Edit
git-update-ref.txt
Edit
git-update-server-info.html
Edit
git-update-server-info.txt
Edit
git-upload-archive.html
Edit
git-upload-archive.txt
Edit
git-upload-pack.html
Edit
git-upload-pack.txt
Edit
git-var.html
Edit
git-var.txt
Edit
git-verify-commit.html
Edit
git-verify-commit.txt
Edit
git-verify-pack.html
Edit
git-verify-pack.txt
Edit
git-verify-tag.html
Edit
git-verify-tag.txt
Edit
git-version.html
Edit
git-version.txt
Edit
git-web--browse.html
Edit
git-web--browse.txt
Edit
git-whatchanged.html
Edit
git-whatchanged.txt
Edit
git-worktree.html
Edit
git-worktree.txt
Edit
git-write-tree.html
Edit
git-write-tree.txt
Edit
git.html
Edit
git.txt
Edit
gitattributes.html
Edit
gitattributes.txt
Edit
gitcli.html
Edit
gitcli.txt
Edit
gitcore-tutorial.html
Edit
gitcore-tutorial.txt
Edit
gitcredentials.html
Edit
gitcredentials.txt
Edit
gitdiffcore.html
Edit
gitdiffcore.txt
Edit
giteveryday.html
Edit
giteveryday.txt
Edit
gitfaq.html
Edit
gitfaq.txt
Edit
gitformat-bundle.html
Edit
gitformat-bundle.txt
Edit
gitformat-chunk.html
Edit
gitformat-chunk.txt
Edit
gitformat-commit-graph.html
Edit
gitformat-commit-graph.txt
Edit
gitformat-index.html
Edit
gitformat-index.txt
Edit
gitformat-pack.html
Edit
gitformat-pack.txt
Edit
gitformat-signature.html
Edit
gitformat-signature.txt
Edit
gitglossary.html
Edit
gitglossary.txt
Edit
githooks.html
Edit
githooks.txt
Edit
gitignore.html
Edit
gitignore.txt
Edit
gitmailmap.html
Edit
gitmailmap.txt
Edit
gitmodules.html
Edit
gitmodules.txt
Edit
gitnamespaces.html
Edit
gitnamespaces.txt
Edit
gitpacking.html
Edit
gitpacking.txt
Edit
gitprotocol-capabilities.html
Edit
gitprotocol-capabilities.txt
Edit
gitprotocol-common.html
Edit
gitprotocol-common.txt
Edit
gitprotocol-http.html
Edit
gitprotocol-http.txt
Edit
gitprotocol-pack.html
Edit
gitprotocol-pack.txt
Edit
gitprotocol-v2.html
Edit
gitprotocol-v2.txt
Edit
gitremote-helpers.html
Edit
gitremote-helpers.txt
Edit
gitrepository-layout.html
Edit
gitrepository-layout.txt
Edit
gitrevisions.html
Edit
gitrevisions.txt
Edit
gitsubmodules.html
Edit
gitsubmodules.txt
Edit
gittutorial-2.html
Edit
gittutorial-2.txt
Edit
gittutorial.html
Edit
gittutorial.txt
Edit
gitworkflows.html
Edit
gitworkflows.txt
Edit
glossary-content.txt
Edit
howto
Edit
howto-index.html
Edit
howto-index.txt
Edit
i18n.txt
Edit
line-range-format.txt
Edit
line-range-options.txt
Edit
merge-options.txt
Edit
merge-strategies.txt
Edit
mergetools-diff.txt
Edit
mergetools-merge.txt
Edit
object-format-disclaimer.txt
Edit
pretty-formats.txt
Edit
pretty-options.txt
Edit
pull-fetch-param.txt
Edit
ref-reachability-filters.txt
Edit
ref-storage-format.txt
Edit
rerere-options.txt
Edit
rev-list-description.txt
Edit
rev-list-options.txt
Edit
revisions.txt
Edit
scalar.html
Edit
scalar.txt
Edit
sequencer.txt
Edit
signoff-option.txt
Edit
technical
Edit
trace2-target-values.txt
Edit
transfer-data-leaks.txt
Edit
urls-remotes.txt
Edit
urls.txt
Edit
user-manual.html
Edit
user-manual.txt
Edit