Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.43.1 → 2.45.0 no changes
- 2.43.0 11/20/23
- 2.33.3 → 2.42.1 no changes
- 2.33.2 03/23/22
- 2.33.1 10/12/21
- 2.30.1 → 2.33.0 no changes
- 2.30.0 12/27/20
- 2.29.1 → 2.29.3 no changes
- 2.29.0 10/19/20
- --pretty[=<format>]
- --format=<format>
-
Pretty-print the contents of the commit logs in a given format, where <format> can be one of oneline, short, medium, full, fuller, reference, email, raw, format:<string> and tformat:<string>. When <format> is none of the above, and has %placeholder in it, it acts as if --pretty=tformat:<format> were given.
See the "PRETTY FORMATS" section for some additional details for each format. When =<format> part is omitted, it defaults to medium.
Note: you can specify the default pretty format in the repository configuration (see git-config[1]).
- --abbrev-commit
-
Instead of showing the full 40-byte hexadecimal commit object name, show a prefix that names the object uniquely. "--abbrev=<n>" (which also modifies diff output, if it is displayed) option can be used to specify the minimum length of the prefix.
This should make "--pretty=oneline" a whole lot more readable for people using 80-column terminals.
- --no-abbrev-commit
-
Show the full 40-byte hexadecimal commit object name. This negates
--abbrev-commit
, either explicit or implied by other options such as "--oneline". It also overrides thelog.abbrevCommit
variable. - --oneline
-
This is a shorthand for "--pretty=oneline --abbrev-commit" used together.
- --encoding=<encoding>
-
The commit objects record the encoding used for the log message in their encoding header; this option can be used to tell the command to re-code the commit log message in the encoding preferred by the user. For non plumbing commands this defaults to UTF-8. Note that if an object claims to be encoded in
X
and we are outputting inX
, we will output the object verbatim; this means that invalid sequences in the original commit may be copied to the output. - --expand-tabs=<n>
- --expand-tabs
- --no-expand-tabs
-
Perform a tab expansion (replace each tab with enough spaces to fill to the next display column that is multiple of <n>) in the log message before showing it in the output.
--expand-tabs
is a short-hand for--expand-tabs=8
, and--no-expand-tabs
is a short-hand for--expand-tabs=0
, which disables tab expansion.By default, tabs are expanded in pretty formats that indent the log message by 4 spaces (i.e. medium, which is the default, full, and fuller).
- --notes[=<ref>]
-
Show the notes (see git-notes[1]) that annotate the commit, when showing the commit log message. This is the default for
git log
,git show
andgit whatchanged
commands when there is no--pretty
,--format
, or--oneline
option given on the command line.By default, the notes shown are from the notes refs listed in the
core.notesRef
andnotes.displayRef
variables (or corresponding environment overrides). See git-config[1] for more details.With an optional <ref> argument, use the ref to find the notes to display. The ref can specify the full refname when it begins with
refs/notes/
; when it begins withnotes/
,refs/
and otherwiserefs/notes/
is prefixed to form a full name of the ref.Multiple --notes options can be combined to control which notes are being displayed. Examples: "--notes=foo" will show only notes from "refs/notes/foo"; "--notes=foo --notes" will show both notes from "refs/notes/foo" and from the default notes ref(s).
- --no-notes
-
Do not show notes. This negates the above
--notes
option, by resetting the list of notes refs from which notes are shown. Options are parsed in the order given on the command line, so e.g. "--notes --notes=foo --no-notes --notes=bar" will only show notes from "refs/notes/bar". - --show-notes[=<ref>]
- --[no-]standard-notes
-
These options are deprecated. Use the above --notes/--no-notes options instead.
- --show-signature
-
Check the validity of a signed commit object by passing the signature to
gpg --verify
and show the output.