1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.1//EN"
3 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4 <html xmlns=
"http://www.w3.org/1999/xhtml" xml:
lang=
"en">
6 <meta http-equiv=
"Content-Type" content=
"application/xhtml+xml; charset=UTF-8" />
7 <meta name=
"generator" content=
"AsciiDoc 10.2.0" />
9 <style type=
"text/css">
10 /* Shared CSS for AsciiDoc xhtml11 and html5 backends */
14 font-family: Georgia,serif;
18 h1, h2, h3, h4, h5, h6,
19 div.title, caption.title,
20 thead, p.table.header,
22 #author, #revnumber, #revdate, #revremark,
24 font-family: Arial,Helvetica,sans-serif;
28 margin:
1em
5%
1em
5%;
33 text-decoration: underline;
49 h1, h2, h3, h4, h5, h6 {
57 border-bottom:
2px solid silver;
77 border:
1px solid silver;
88 ul
> li { color: #aaa; }
89 ul
> li
> * { color: black; }
91 .monospaced, code, pre {
92 font-family:
"Courier New", Courier, monospace;
99 white-space: pre-wrap;
109 #revnumber, #revdate, #revremark {
114 border-top:
2px solid silver;
120 padding-bottom:
0.5em;
124 padding-bottom:
0.5em;
129 margin-bottom:
1.5em;
131 div.imageblock, div.exampleblock, div.verseblock,
132 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
133 div.admonitionblock {
135 margin-bottom:
1.5em;
137 div.admonitionblock {
139 margin-bottom:
2.0em;
144 div.content { /* Block element content. */
148 /* Block element titles. */
149 div.title, caption.title {
154 margin-bottom:
0.5em;
160 td div.title:first-child {
163 div.content div.title:first-child {
166 div.content + div.title {
170 div.sidebarblock
> div.content {
172 border:
1px solid #dddddd;
173 border-left:
4px solid #f0f0f0;
177 div.listingblock
> div.content {
178 border:
1px solid #dddddd;
179 border-left:
5px solid #f0f0f0;
184 div.quoteblock, div.verseblock {
188 border-left:
5px solid #f0f0f0;
192 div.quoteblock
> div.attribution {
197 div.verseblock
> pre.content {
198 font-family: inherit;
201 div.verseblock
> div.attribution {
205 /* DEPRECATED: Pre version
8.2.7 verse style literal block. */
206 div.verseblock + div.attribution {
210 div.admonitionblock .icon {
214 text-decoration: underline;
216 padding-right:
0.5em;
218 div.admonitionblock td.content {
220 border-left:
3px solid #dddddd;
223 div.exampleblock
> div.content {
224 border-left:
3px solid #dddddd;
228 div.imageblock div.content { padding-left:
0; }
229 span.image img { border-style: none; vertical-align: text-bottom; }
230 a.image:visited { color: white; }
234 margin-bottom:
0.8em;
247 list-style-position: outside;
250 list-style-type: decimal;
253 list-style-type: lower-alpha;
256 list-style-type: upper-alpha;
259 list-style-type: lower-roman;
262 list-style-type: upper-roman;
265 div.compact ul, div.compact ol,
266 div.compact p, div.compact p,
267 div.compact div, div.compact div {
269 margin-bottom:
0.1em;
281 margin-bottom:
0.8em;
284 padding-bottom:
15px;
286 dt.hdlist1.strong, td.hdlist1.strong {
292 padding-right:
0.8em;
298 div.hdlist.compact tr {
307 .footnote, .footnoteref {
311 span.footnote, span.footnoteref {
312 vertical-align: super;
316 margin:
20px
0 20px
0;
320 #footnotes div.footnote {
326 border-top:
1px solid silver;
335 padding-right:
0.5em;
336 padding-bottom:
0.3em;
344 #footer-badges { display: none; }
348 margin-bottom:
2.5em;
356 margin-bottom:
0.1em;
359 div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
376 span.aqua { color: aqua; }
377 span.black { color: black; }
378 span.blue { color: blue; }
379 span.fuchsia { color: fuchsia; }
380 span.gray { color: gray; }
381 span.green { color: green; }
382 span.lime { color: lime; }
383 span.maroon { color: maroon; }
384 span.navy { color: navy; }
385 span.olive { color: olive; }
386 span.purple { color: purple; }
387 span.red { color: red; }
388 span.silver { color: silver; }
389 span.teal { color: teal; }
390 span.white { color: white; }
391 span.yellow { color: yellow; }
393 span.aqua-background { background: aqua; }
394 span.black-background { background: black; }
395 span.blue-background { background: blue; }
396 span.fuchsia-background { background: fuchsia; }
397 span.gray-background { background: gray; }
398 span.green-background { background: green; }
399 span.lime-background { background: lime; }
400 span.maroon-background { background: maroon; }
401 span.navy-background { background: navy; }
402 span.olive-background { background: olive; }
403 span.purple-background { background: purple; }
404 span.red-background { background: red; }
405 span.silver-background { background: silver; }
406 span.teal-background { background: teal; }
407 span.white-background { background: white; }
408 span.yellow-background { background: yellow; }
410 span.big { font-size:
2em; }
411 span.small { font-size:
0.6em; }
413 span.underline { text-decoration: underline; }
414 span.overline { text-decoration: overline; }
415 span.line-through { text-decoration: line-through; }
417 div.unbreakable { page-break-inside: avoid; }
427 margin-bottom:
1.5em;
429 div.tableblock
> table {
430 border:
3px solid #
527bbd;
432 thead, p.table.header {
439 /* Because the table frame attribute is overridden by CSS in most browsers. */
440 div.tableblock
> table[
frame=
"void"] {
443 div.tableblock
> table[
frame=
"hsides"] {
444 border-left-style: none;
445 border-right-style: none;
447 div.tableblock
> table[
frame=
"vsides"] {
448 border-top-style: none;
449 border-bottom-style: none;
460 margin-bottom:
1.5em;
462 thead, p.tableblock.header {
473 border-color: #
527bbd;
474 border-collapse: collapse;
476 th.tableblock, td.tableblock {
480 border-color: #
527bbd;
483 table.tableblock.frame-topbot {
484 border-left-style: hidden;
485 border-right-style: hidden;
487 table.tableblock.frame-sides {
488 border-top-style: hidden;
489 border-bottom-style: hidden;
491 table.tableblock.frame-none {
492 border-style: hidden;
495 th.tableblock.halign-left, td.tableblock.halign-left {
498 th.tableblock.halign-center, td.tableblock.halign-center {
501 th.tableblock.halign-right, td.tableblock.halign-right {
505 th.tableblock.valign-top, td.tableblock.valign-top {
508 th.tableblock.valign-middle, td.tableblock.valign-middle {
509 vertical-align: middle;
511 th.tableblock.valign-bottom, td.tableblock.valign-bottom {
512 vertical-align: bottom;
523 padding-bottom:
0.5em;
524 border-top:
2px solid silver;
525 border-bottom:
2px solid silver;
530 body.manpage div.sectionbody {
535 body.manpage div#toc { display: none; }
540 <script type=
"text/javascript">
542 var asciidoc = { // Namespace.
544 /////////////////////////////////////////////////////////////////////
545 // Table Of Contents generator
546 /////////////////////////////////////////////////////////////////////
548 /* Author: Mihai Bazon, September
2002
549 * http://students.infoiasi.ro/~mishoo
551 * Table Of Content generator
554 * Feel free to use this script under the terms of the GNU General Public
555 * License, as long as you do not remove or alter this notice.
558 /* modified by Troy D. Hanson, September
2006. License: GPL */
559 /* modified by Stuart Rackham,
2006,
2009. License: GPL */
562 toc: function (toclevels) {
564 function getText(el) {
566 for (var i = el.firstChild; i != null; i = i.nextSibling) {
567 if (i.nodeType ==
3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
569 else if (i.firstChild != null)
575 function TocEntry(el, text, toclevel) {
578 this.toclevel = toclevel;
581 function tocEntries(el, toclevels) {
582 var result = new Array;
583 var re = new RegExp('[hH]([
1-'+(toclevels+
1)+'])');
584 // Function that scans the DOM tree for header elements (the DOM2
585 // nodeIterator API would be a better technique but not supported by all
587 var iterate = function (el) {
588 for (var i = el.firstChild; i != null; i = i.nextSibling) {
589 if (i.nodeType ==
1 /* Node.ELEMENT_NODE */) {
590 var mo = re.exec(i.tagName);
591 if (mo && (i.getAttribute(
"class") || i.getAttribute(
"className")) !=
"float") {
592 result[result.length] = new TocEntry(i, getText(i), mo[
1]-
1);
602 var toc = document.getElementById(
"toc");
607 // Delete existing TOC entries in case we're reloading the TOC.
608 var tocEntriesToRemove = [];
610 for (i =
0; i < toc.childNodes.length; i++) {
611 var entry = toc.childNodes[i];
612 if (entry.nodeName.toLowerCase() == 'div'
613 && entry.getAttribute(
"class")
614 && entry.getAttribute(
"class").match(/^toclevel/))
615 tocEntriesToRemove.push(entry);
617 for (i =
0; i < tocEntriesToRemove.length; i++) {
618 toc.removeChild(tocEntriesToRemove[i]);
621 // Rebuild TOC entries.
622 var entries = tocEntries(document.getElementById(
"content"), toclevels);
623 for (var i =
0; i < entries.length; ++i) {
624 var entry = entries[i];
625 if (entry.element.id ==
"")
626 entry.element.id =
"_toc_" + i;
627 var a = document.createElement(
"a");
628 a.href =
"#" + entry.element.id;
629 a.appendChild(document.createTextNode(entry.text));
630 var div = document.createElement(
"div");
632 div.className =
"toclevel" + entry.toclevel;
633 toc.appendChild(div);
635 if (entries.length ==
0)
636 toc.parentNode.removeChild(toc);
640 /////////////////////////////////////////////////////////////////////
641 // Footnotes generator
642 /////////////////////////////////////////////////////////////////////
644 /* Based on footnote generation code from:
645 * http://www.brandspankingnew.net/archive/
2005/
07/format_footnote.html
648 footnotes: function () {
649 // Delete existing footnote entries in case we're reloading the footnodes.
651 var noteholder = document.getElementById(
"footnotes");
655 var entriesToRemove = [];
656 for (i =
0; i < noteholder.childNodes.length; i++) {
657 var entry = noteholder.childNodes[i];
658 if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute(
"class") ==
"footnote")
659 entriesToRemove.push(entry);
661 for (i =
0; i < entriesToRemove.length; i++) {
662 noteholder.removeChild(entriesToRemove[i]);
665 // Rebuild footnote entries.
666 var cont = document.getElementById(
"content");
667 var spans = cont.getElementsByTagName(
"span");
670 for (i=
0; i
<spans.length; i++) {
671 if (spans[i].className ==
"footnote") {
673 var note = spans[i].getAttribute(
"data-note");
675 // Use [\s\S] in place of . so multi-line matches work.
676 // Because JavaScript has no s (dotall) regex flag.
677 note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[
1];
679 "[<a id='_footnoteref_" + n +
"' href='#_footnote_" + n +
680 "' title='View footnote' class='footnote'>" + n +
"</a>]";
681 spans[i].setAttribute(
"data-note", note);
683 noteholder.innerHTML +=
684 "<div class='footnote' id='_footnote_" + n +
"'>" +
685 "<a href='#_footnoteref_" + n +
"' title='Return to text'>" +
686 n +
"</a>. " + note +
"</div>";
687 var id =spans[i].getAttribute(
"id");
688 if (id != null) refs[
"#"+id] = n;
692 noteholder.parentNode.removeChild(noteholder);
694 // Process footnoterefs.
695 for (i=
0; i
<spans.length; i++) {
696 if (spans[i].className ==
"footnoteref") {
697 var href = spans[i].getElementsByTagName(
"a")[
0].getAttribute(
"href");
698 href = href.match(/#.*/)[
0]; // Because IE return full URL.
701 "[<a href='#_footnote_" + n +
702 "' title='View footnote' class='footnote'>" + n +
"</a>]";
708 install: function(toclevels) {
711 function reinstall() {
712 asciidoc.footnotes();
714 asciidoc.toc(toclevels);
718 function reinstallAndRemoveTimer() {
719 clearInterval(timerId);
723 timerId = setInterval(reinstall,
500);
724 if (document.addEventListener)
725 document.addEventListener(
"DOMContentLoaded", reinstallAndRemoveTimer, false);
727 window.onload = reinstallAndRemoveTimer;
735 <body class=
"manpage">
741 <div class=
"sectionbody">
743 the stupid content tracker
749 <h2 id=
"_synopsis">SYNOPSIS
</h2>
750 <div class=
"sectionbody">
751 <div class=
"verseblock">
752 <pre class=
"content"><em>git
</em> [-v | --version] [-h | --help] [-C
<path
>] [-c
<name
>=
<value
>]
753 [--exec-path[=
<path
>]] [--html-path] [--man-path] [--info-path]
754 [-p|--paginate|-P|--no-pager] [--no-replace-objects] [--bare]
755 [--git-dir=
<path
>] [--work-tree=
<path
>] [--namespace=
<name
>]
756 [--super-prefix=
<path
>] [--config-env=
<name
>=
<envvar
>]
757 <command
> [
<args
>]
</pre>
758 <div class=
"attribution">
763 <h2 id=
"_description">DESCRIPTION
</h2>
764 <div class=
"sectionbody">
765 <div class=
"paragraph"><p>Git is a fast, scalable, distributed revision control system with an
766 unusually rich command set that provides both high-level operations
767 and full access to internals.
</p></div>
768 <div class=
"paragraph"><p>See
<a href=
"gittutorial.html">gittutorial(
7)
</a> to get started, then see
769 <a href=
"giteveryday.html">giteveryday(
7)
</a> for a useful minimum set of
770 commands. The
<a href=
"user-manual.html">Git User
’s Manual
</a> has a more
771 in-depth introduction.
</p></div>
772 <div class=
"paragraph"><p>After you mastered the basic concepts, you can come back to this
773 page to learn what commands Git offers. You can learn more about
774 individual Git commands with
"git help command".
<a href=
"gitcli.html">gitcli(
7)
</a>
775 manual page gives you an overview of the command-line command syntax.
</p></div>
776 <div class=
"paragraph"><p>A formatted and hyperlinked copy of the latest Git documentation
777 can be viewed at
<a href=
"https://git.github.io/htmldocs/git.html">https://git.github.io/htmldocs/git.html
</a>
778 or
<a href=
"https://git-scm.com/docs">https://git-scm.com/docs
</a>.
</p></div>
782 <h2 id=
"_options">OPTIONS
</h2>
783 <div class=
"sectionbody">
784 <div class=
"dlist"><dl>
793 Prints the Git suite version that the
<em>git
</em> program came from.
795 <div class=
"paragraph"><p>This option is internally converted to
<code>git version ...
</code> and accepts
796 the same options as the
<a href=
"git-version.html">git-version(
1)
</a> command. If
<code>--help
</code> is
797 also given, it takes precedence over
<code>--version
</code>.
</p></div>
807 Prints the synopsis and a list of the most commonly used
808 commands. If the option
<code>--all
</code> or
<code>-a
</code> is given then all
809 available commands are printed. If a Git command is named this
810 option will bring up the manual page for that command.
812 <div class=
"paragraph"><p>Other options are available to control how the manual page is
813 displayed. See
<a href=
"git-help.html">git-help(
1)
</a> for more information,
814 because
<code>git --help ...
</code> is converted internally into
<code>git
815 help ...
</code>.
</p></div>
822 Run as if git was started in
<em><path
></em> instead of the current working
823 directory. When multiple
<code>-C
</code> options are given, each subsequent
824 non-absolute
<code>-C
<path
></code> is interpreted relative to the preceding
<code>-C
825 <path
></code>. If
<em><path
></em> is present but empty, e.g.
<code>-C
""</code>, then the
826 current working directory is left unchanged.
828 <div class=
"paragraph"><p>This option affects options that expect path name like
<code>--git-dir
</code> and
829 <code>--work-tree
</code> in that their interpretations of the path names would be
830 made relative to the working directory caused by the
<code>-C
</code> option. For
831 example the following invocations are equivalent:
</p></div>
832 <div class=
"literalblock">
833 <div class=
"content">
834 <pre><code>git --git-dir=a.git --work-tree=b -C c status
835 git --git-dir=c/a.git --work-tree=c/b status
</code></pre>
839 -c
<name
>=
<value
>
843 Pass a configuration parameter to the command. The value
844 given will override values from configuration files.
845 The
<name
> is expected in the same format as listed by
846 <em>git config
</em> (subkeys separated by dots).
848 <div class=
"paragraph"><p>Note that omitting the
<code>=
</code> in
<code>git -c foo.bar ...
</code> is allowed and sets
849 <code>foo.bar
</code> to the boolean true value (just like
<code>[foo]bar
</code> would in a
850 config file). Including the equals but with an empty value (like
<code>git -c
851 foo.bar= ...
</code>) sets
<code>foo.bar
</code> to the empty string which
<code>git config
852 --type=bool
</code> will convert to
<code>false
</code>.
</p></div>
855 --config-env=
<name
>=
<envvar
>
859 Like
<code>-c
<name
>=
<value
></code>, give configuration variable
860 <em><name
></em> a value, where
<envvar
> is the name of an
861 environment variable from which to retrieve the value. Unlike
862 <code>-c
</code> there is no shortcut for directly setting the value to an
863 empty string, instead the environment variable itself must be
864 set to the empty string. It is an error if the
<code><envvar
></code> does not exist
865 in the environment.
<code><envvar
></code> may not contain an equals sign
866 to avoid ambiguity with
<code><name
></code> containing one.
868 <div class=
"paragraph"><p>This is useful for cases where you want to pass transitory
869 configuration options to git, but are doing so on OS
’s where
870 other processes might be able to read your cmdline
871 (e.g.
<code>/proc/self/cmdline
</code>), but not your environ
872 (e.g.
<code>/proc/self/environ
</code>). That behavior is the default on
873 Linux, but may not be on your system.
</p></div>
874 <div class=
"paragraph"><p>Note that this might add security for variables such as
875 <code>http.extraHeader
</code> where the sensitive information is part of
876 the value, but not e.g.
<code>url.
<base
>.insteadOf
</code> where the
877 sensitive information can be part of the key.
</p></div>
880 --exec-path[=
<path
>]
884 Path to wherever your core Git programs are installed.
885 This can also be controlled by setting the GIT_EXEC_PATH
886 environment variable. If no path is given,
<em>git
</em> will print
887 the current setting and then exit.
895 Print the path, without trailing slash, where Git
’s HTML
896 documentation is installed and exit.
904 Print the manpath (see
<code>man(
1)
</code>) for the man pages for
905 this version of Git and exit.
913 Print the path where the Info files documenting this
914 version of Git are installed and exit.
925 Pipe all output into
<em>less
</em> (or if set, $PAGER) if standard
926 output is a terminal. This overrides the
<code>pager.
<cmd
></code>
927 configuration options (see the
"Configuration Mechanism" section
939 Do not pipe Git output into a pager.
943 --git-dir=
<path
>
947 Set the path to the repository (
".git" directory). This can also be
948 controlled by setting the
<code>GIT_DIR
</code> environment variable. It can be
949 an absolute path or relative path to current working directory.
951 <div class=
"paragraph"><p>Specifying the location of the
".git" directory using this
952 option (or
<code>GIT_DIR
</code> environment variable) turns off the
953 repository discovery that tries to find a directory with
954 ".git" subdirectory (which is how the repository and the
955 top-level of the working tree are discovered), and tells Git
956 that you are at the top level of the working tree. If you
957 are not at the top-level directory of the working tree, you
958 should tell Git where the top-level of the working tree is,
959 with the
<code>--work-tree=
<path
></code> option (or
<code>GIT_WORK_TREE
</code>
960 environment variable)
</p></div>
961 <div class=
"paragraph"><p>If you just want to run git as if it was started in
<code><path
></code> then use
962 <code>git -C
<path
></code>.
</p></div>
965 --work-tree=
<path
>
969 Set the path to the working tree. It can be an absolute path
970 or a path relative to the current working directory.
971 This can also be controlled by setting the GIT_WORK_TREE
972 environment variable and the core.worktree configuration
973 variable (see core.worktree in
<a href=
"git-config.html">git-config(
1)
</a> for a
974 more detailed discussion).
978 --namespace=
<path
>
982 Set the Git namespace. See
<a href=
"gitnamespaces.html">gitnamespaces(
7)
</a> for more
983 details. Equivalent to setting the
<code>GIT_NAMESPACE
</code> environment
988 --super-prefix=
<path
>
992 Currently for internal use only. Set a prefix which gives a path from
993 above a repository down to its root. One use is to give submodules
994 context about the superproject that invoked it.
1002 Treat the repository as a bare repository. If GIT_DIR
1003 environment is not set, it is set to the current working
1007 <dt class=
"hdlist1">
1008 --no-replace-objects
1012 Do not use replacement refs to replace Git objects. See
1013 <a href=
"git-replace.html">git-replace(
1)
</a> for more information.
1016 <dt class=
"hdlist1">
1021 Treat pathspecs literally (i.e. no globbing, no pathspec magic).
1022 This is equivalent to setting the
<code>GIT_LITERAL_PATHSPECS
</code> environment
1023 variable to
<code>1</code>.
1026 <dt class=
"hdlist1">
1031 Add
"glob" magic to all pathspec. This is equivalent to setting
1032 the
<code>GIT_GLOB_PATHSPECS
</code> environment variable to
<code>1</code>. Disabling
1033 globbing on individual pathspecs can be done using pathspec
1037 <dt class=
"hdlist1">
1042 Add
"literal" magic to all pathspec. This is equivalent to setting
1043 the
<code>GIT_NOGLOB_PATHSPECS
</code> environment variable to
<code>1</code>. Enabling
1044 globbing on individual pathspecs can be done using pathspec
1048 <dt class=
"hdlist1">
1053 Add
"icase" magic to all pathspec. This is equivalent to setting
1054 the
<code>GIT_ICASE_PATHSPECS
</code> environment variable to
<code>1</code>.
1057 <dt class=
"hdlist1">
1062 Do not perform optional operations that require locks. This is
1063 equivalent to setting the
<code>GIT_OPTIONAL_LOCKS
</code> to
<code>0</code>.
1066 <dt class=
"hdlist1">
1067 --list-cmds=group[,group
…]
1071 List commands by group. This is an internal/experimental
1072 option and may change or be removed in the future. Supported
1073 groups are: builtins, parseopt (builtin commands that use
1074 parse-options), main (all commands in libexec directory),
1075 others (all other commands in
<code>$PATH
</code> that have git- prefix),
1076 list-
<category
> (see categories in command-list.txt),
1077 nohelpers (exclude helper commands), alias and config
1078 (retrieve command list from config variable completion.commands)
1085 <h2 id=
"_git_commands">GIT COMMANDS
</h2>
1086 <div class=
"sectionbody">
1087 <div class=
"paragraph"><p>We divide Git into high level (
"porcelain") commands and low level
1088 (
"plumbing") commands.
</p></div>
1092 <h2 id=
"_high_level_commands_porcelain">High-level commands (porcelain)
</h2>
1093 <div class=
"sectionbody">
1094 <div class=
"paragraph"><p>We separate the porcelain commands into the main commands and some
1095 ancillary user utilities.
</p></div>
1097 <h3 id=
"_main_porcelain_commands">Main porcelain commands
</h3>
1098 <div class=
"dlist"><dl>
1099 <dt class=
"hdlist1">
1100 <a href=
"git-add.html">git-add(
1)
</a>
1104 Add file contents to the index.
1107 <dt class=
"hdlist1">
1108 <a href=
"git-am.html">git-am(
1)
</a>
1112 Apply a series of patches from a mailbox.
1115 <dt class=
"hdlist1">
1116 <a href=
"git-archive.html">git-archive(
1)
</a>
1120 Create an archive of files from a named tree.
1123 <dt class=
"hdlist1">
1124 <a href=
"git-bisect.html">git-bisect(
1)
</a>
1128 Use binary search to find the commit that introduced a bug.
1131 <dt class=
"hdlist1">
1132 <a href=
"git-branch.html">git-branch(
1)
</a>
1136 List, create, or delete branches.
1139 <dt class=
"hdlist1">
1140 <a href=
"git-bundle.html">git-bundle(
1)
</a>
1144 Move objects and refs by archive.
1147 <dt class=
"hdlist1">
1148 <a href=
"git-checkout.html">git-checkout(
1)
</a>
1152 Switch branches or restore working tree files.
1155 <dt class=
"hdlist1">
1156 <a href=
"git-cherry-pick.html">git-cherry-pick(
1)
</a>
1160 Apply the changes introduced by some existing commits.
1163 <dt class=
"hdlist1">
1164 <a href=
"git-citool.html">git-citool(
1)
</a>
1168 Graphical alternative to git-commit.
1171 <dt class=
"hdlist1">
1172 <a href=
"git-clean.html">git-clean(
1)
</a>
1176 Remove untracked files from the working tree.
1179 <dt class=
"hdlist1">
1180 <a href=
"git-clone.html">git-clone(
1)
</a>
1184 Clone a repository into a new directory.
1187 <dt class=
"hdlist1">
1188 <a href=
"git-commit.html">git-commit(
1)
</a>
1192 Record changes to the repository.
1195 <dt class=
"hdlist1">
1196 <a href=
"git-describe.html">git-describe(
1)
</a>
1200 Give an object a human readable name based on an available ref.
1203 <dt class=
"hdlist1">
1204 <a href=
"git-diff.html">git-diff(
1)
</a>
1208 Show changes between commits, commit and working tree, etc.
1211 <dt class=
"hdlist1">
1212 <a href=
"git-fetch.html">git-fetch(
1)
</a>
1216 Download objects and refs from another repository.
1219 <dt class=
"hdlist1">
1220 <a href=
"git-format-patch.html">git-format-patch(
1)
</a>
1224 Prepare patches for e-mail submission.
1227 <dt class=
"hdlist1">
1228 <a href=
"git-gc.html">git-gc(
1)
</a>
1232 Cleanup unnecessary files and optimize the local repository.
1235 <dt class=
"hdlist1">
1236 <a href=
"git-grep.html">git-grep(
1)
</a>
1240 Print lines matching a pattern.
1243 <dt class=
"hdlist1">
1244 <a href=
"git-gui.html">git-gui(
1)
</a>
1248 A portable graphical interface to Git.
1251 <dt class=
"hdlist1">
1252 <a href=
"git-init.html">git-init(
1)
</a>
1256 Create an empty Git repository or reinitialize an existing one.
1259 <dt class=
"hdlist1">
1260 <a href=
"git-log.html">git-log(
1)
</a>
1267 <dt class=
"hdlist1">
1268 <a href=
"git-maintenance.html">git-maintenance(
1)
</a>
1272 Run tasks to optimize Git repository data.
1275 <dt class=
"hdlist1">
1276 <a href=
"git-merge.html">git-merge(
1)
</a>
1280 Join two or more development histories together.
1283 <dt class=
"hdlist1">
1284 <a href=
"git-mv.html">git-mv(
1)
</a>
1288 Move or rename a file, a directory, or a symlink.
1291 <dt class=
"hdlist1">
1292 <a href=
"git-notes.html">git-notes(
1)
</a>
1296 Add or inspect object notes.
1299 <dt class=
"hdlist1">
1300 <a href=
"git-pull.html">git-pull(
1)
</a>
1304 Fetch from and integrate with another repository or a local branch.
1307 <dt class=
"hdlist1">
1308 <a href=
"git-push.html">git-push(
1)
</a>
1312 Update remote refs along with associated objects.
1315 <dt class=
"hdlist1">
1316 <a href=
"git-range-diff.html">git-range-diff(
1)
</a>
1320 Compare two commit ranges (e.g. two versions of a branch).
1323 <dt class=
"hdlist1">
1324 <a href=
"git-rebase.html">git-rebase(
1)
</a>
1328 Reapply commits on top of another base tip.
1331 <dt class=
"hdlist1">
1332 <a href=
"git-reset.html">git-reset(
1)
</a>
1336 Reset current HEAD to the specified state.
1339 <dt class=
"hdlist1">
1340 <a href=
"git-restore.html">git-restore(
1)
</a>
1344 Restore working tree files.
1347 <dt class=
"hdlist1">
1348 <a href=
"git-revert.html">git-revert(
1)
</a>
1352 Revert some existing commits.
1355 <dt class=
"hdlist1">
1356 <a href=
"git-rm.html">git-rm(
1)
</a>
1360 Remove files from the working tree and from the index.
1363 <dt class=
"hdlist1">
1364 <a href=
"git-shortlog.html">git-shortlog(
1)
</a>
1368 Summarize
<em>git log
</em> output.
1371 <dt class=
"hdlist1">
1372 <a href=
"git-show.html">git-show(
1)
</a>
1376 Show various types of objects.
1379 <dt class=
"hdlist1">
1380 <a href=
"git-sparse-checkout.html">git-sparse-checkout(
1)
</a>
1384 Reduce your working tree to a subset of tracked files.
1387 <dt class=
"hdlist1">
1388 <a href=
"git-stash.html">git-stash(
1)
</a>
1392 Stash the changes in a dirty working directory away.
1395 <dt class=
"hdlist1">
1396 <a href=
"git-status.html">git-status(
1)
</a>
1400 Show the working tree status.
1403 <dt class=
"hdlist1">
1404 <a href=
"git-submodule.html">git-submodule(
1)
</a>
1408 Initialize, update or inspect submodules.
1411 <dt class=
"hdlist1">
1412 <a href=
"git-switch.html">git-switch(
1)
</a>
1419 <dt class=
"hdlist1">
1420 <a href=
"git-tag.html">git-tag(
1)
</a>
1424 Create, list, delete or verify a tag object signed with GPG.
1427 <dt class=
"hdlist1">
1428 <a href=
"git-worktree.html">git-worktree(
1)
</a>
1432 Manage multiple working trees.
1435 <dt class=
"hdlist1">
1436 <a href=
"gitk.html">gitk(
1)
</a>
1440 The Git repository browser.
1443 <dt class=
"hdlist1">
1444 <a href=
"scalar.html">scalar(
1)
</a>
1448 A tool for managing large Git repositories.
1454 <h3 id=
"_ancillary_commands">Ancillary Commands
</h3>
1455 <div class=
"paragraph"><p>Manipulators:
</p></div>
1456 <div class=
"dlist"><dl>
1457 <dt class=
"hdlist1">
1458 <a href=
"git-config.html">git-config(
1)
</a>
1462 Get and set repository or global options.
1465 <dt class=
"hdlist1">
1466 <a href=
"git-fast-export.html">git-fast-export(
1)
</a>
1473 <dt class=
"hdlist1">
1474 <a href=
"git-fast-import.html">git-fast-import(
1)
</a>
1478 Backend for fast Git data importers.
1481 <dt class=
"hdlist1">
1482 <a href=
"git-filter-branch.html">git-filter-branch(
1)
</a>
1489 <dt class=
"hdlist1">
1490 <a href=
"git-mergetool.html">git-mergetool(
1)
</a>
1494 Run merge conflict resolution tools to resolve merge conflicts.
1497 <dt class=
"hdlist1">
1498 <a href=
"git-pack-refs.html">git-pack-refs(
1)
</a>
1502 Pack heads and tags for efficient repository access.
1505 <dt class=
"hdlist1">
1506 <a href=
"git-prune.html">git-prune(
1)
</a>
1510 Prune all unreachable objects from the object database.
1513 <dt class=
"hdlist1">
1514 <a href=
"git-reflog.html">git-reflog(
1)
</a>
1518 Manage reflog information.
1521 <dt class=
"hdlist1">
1522 <a href=
"git-remote.html">git-remote(
1)
</a>
1526 Manage set of tracked repositories.
1529 <dt class=
"hdlist1">
1530 <a href=
"git-repack.html">git-repack(
1)
</a>
1534 Pack unpacked objects in a repository.
1537 <dt class=
"hdlist1">
1538 <a href=
"git-replace.html">git-replace(
1)
</a>
1542 Create, list, delete refs to replace objects.
1546 <div class=
"paragraph"><p>Interrogators:
</p></div>
1547 <div class=
"dlist"><dl>
1548 <dt class=
"hdlist1">
1549 <a href=
"git-annotate.html">git-annotate(
1)
</a>
1553 Annotate file lines with commit information.
1556 <dt class=
"hdlist1">
1557 <a href=
"git-blame.html">git-blame(
1)
</a>
1561 Show what revision and author last modified each line of a file.
1564 <dt class=
"hdlist1">
1565 <a href=
"git-bugreport.html">git-bugreport(
1)
</a>
1569 Collect information for user to file a bug report.
1572 <dt class=
"hdlist1">
1573 <a href=
"git-count-objects.html">git-count-objects(
1)
</a>
1577 Count unpacked number of objects and their disk consumption.
1580 <dt class=
"hdlist1">
1581 <a href=
"git-diagnose.html">git-diagnose(
1)
</a>
1585 Generate a zip archive of diagnostic information.
1588 <dt class=
"hdlist1">
1589 <a href=
"git-difftool.html">git-difftool(
1)
</a>
1593 Show changes using common diff tools.
1596 <dt class=
"hdlist1">
1597 <a href=
"git-fsck.html">git-fsck(
1)
</a>
1601 Verifies the connectivity and validity of the objects in the database.
1604 <dt class=
"hdlist1">
1605 <a href=
"git-help.html">git-help(
1)
</a>
1609 Display help information about Git.
1612 <dt class=
"hdlist1">
1613 <a href=
"git-instaweb.html">git-instaweb(
1)
</a>
1617 Instantly browse your working repository in gitweb.
1620 <dt class=
"hdlist1">
1621 <a href=
"git-merge-tree.html">git-merge-tree(
1)
</a>
1625 Perform merge without touching index or working tree.
1628 <dt class=
"hdlist1">
1629 <a href=
"git-rerere.html">git-rerere(
1)
</a>
1633 Reuse recorded resolution of conflicted merges.
1636 <dt class=
"hdlist1">
1637 <a href=
"git-show-branch.html">git-show-branch(
1)
</a>
1641 Show branches and their commits.
1644 <dt class=
"hdlist1">
1645 <a href=
"git-verify-commit.html">git-verify-commit(
1)
</a>
1649 Check the GPG signature of commits.
1652 <dt class=
"hdlist1">
1653 <a href=
"git-verify-tag.html">git-verify-tag(
1)
</a>
1657 Check the GPG signature of tags.
1660 <dt class=
"hdlist1">
1661 <a href=
"git-version.html">git-version(
1)
</a>
1665 Display version information about Git.
1668 <dt class=
"hdlist1">
1669 <a href=
"git-whatchanged.html">git-whatchanged(
1)
</a>
1673 Show logs with difference each commit introduces.
1676 <dt class=
"hdlist1">
1677 <a href=
"gitweb.html">gitweb(
1)
</a>
1681 Git web interface (web frontend to Git repositories).
1687 <h3 id=
"_interacting_with_others">Interacting with Others
</h3>
1688 <div class=
"paragraph"><p>These commands are to interact with foreign SCM and with other
1689 people via patch over e-mail.
</p></div>
1690 <div class=
"dlist"><dl>
1691 <dt class=
"hdlist1">
1692 <a href=
"git-archimport.html">git-archimport(
1)
</a>
1696 Import a GNU Arch repository into Git.
1699 <dt class=
"hdlist1">
1700 <a href=
"git-cvsexportcommit.html">git-cvsexportcommit(
1)
</a>
1704 Export a single commit to a CVS checkout.
1707 <dt class=
"hdlist1">
1708 <a href=
"git-cvsimport.html">git-cvsimport(
1)
</a>
1712 Salvage your data out of another SCM people love to hate.
1715 <dt class=
"hdlist1">
1716 <a href=
"git-cvsserver.html">git-cvsserver(
1)
</a>
1720 A CVS server emulator for Git.
1723 <dt class=
"hdlist1">
1724 <a href=
"git-imap-send.html">git-imap-send(
1)
</a>
1728 Send a collection of patches from stdin to an IMAP folder.
1731 <dt class=
"hdlist1">
1732 <a href=
"git-p4.html">git-p4(
1)
</a>
1736 Import from and submit to Perforce repositories.
1739 <dt class=
"hdlist1">
1740 <a href=
"git-quiltimport.html">git-quiltimport(
1)
</a>
1744 Applies a quilt patchset onto the current branch.
1747 <dt class=
"hdlist1">
1748 <a href=
"git-request-pull.html">git-request-pull(
1)
</a>
1752 Generates a summary of pending changes.
1755 <dt class=
"hdlist1">
1756 <a href=
"git-send-email.html">git-send-email(
1)
</a>
1760 Send a collection of patches as emails.
1763 <dt class=
"hdlist1">
1764 <a href=
"git-svn.html">git-svn(
1)
</a>
1768 Bidirectional operation between a Subversion repository and Git.
1774 <h3 id=
"_reset_restore_and_revert">Reset, restore and revert
</h3>
1775 <div class=
"paragraph"><p>There are three commands with similar names:
<code>git reset
</code>,
1776 <code>git restore
</code> and
<code>git revert
</code>.
</p></div>
1777 <div class=
"ulist"><ul>
1780 <a href=
"git-revert.html">git-revert(
1)
</a> is about making a new commit that reverts the
1781 changes made by other commits.
1786 <a href=
"git-restore.html">git-restore(
1)
</a> is about restoring files in the working tree
1787 from either the index or another commit. This command does not
1788 update your branch. The command can also be used to restore files in
1789 the index from another commit.
1794 <a href=
"git-reset.html">git-reset(
1)
</a> is about updating your branch, moving the tip
1795 in order to add or remove commits from the branch. This operation
1796 changes the commit history.
1798 <div class=
"paragraph"><p><code>git reset
</code> can also be used to restore the index, overlapping with
1799 <code>git restore
</code>.
</p></div>
1806 <h2 id=
"_low_level_commands_plumbing">Low-level commands (plumbing)
</h2>
1807 <div class=
"sectionbody">
1808 <div class=
"paragraph"><p>Although Git includes its
1809 own porcelain layer, its low-level commands are sufficient to support
1810 development of alternative porcelains. Developers of such porcelains
1811 might start by reading about
<a href=
"git-update-index.html">git-update-index(
1)
</a> and
1812 <a href=
"git-read-tree.html">git-read-tree(
1)
</a>.
</p></div>
1813 <div class=
"paragraph"><p>The interface (input, output, set of options and the semantics)
1814 to these low-level commands are meant to be a lot more stable
1815 than Porcelain level commands, because these commands are
1816 primarily for scripted use. The interface to Porcelain commands
1817 on the other hand are subject to change in order to improve the
1818 end user experience.
</p></div>
1819 <div class=
"paragraph"><p>The following description divides
1820 the low-level commands into commands that manipulate objects (in
1821 the repository, index, and working tree), commands that interrogate and
1822 compare objects, and commands that move objects and references between
1823 repositories.
</p></div>
1825 <h3 id=
"_manipulation_commands">Manipulation commands
</h3>
1826 <div class=
"dlist"><dl>
1827 <dt class=
"hdlist1">
1828 <a href=
"git-apply.html">git-apply(
1)
</a>
1832 Apply a patch to files and/or to the index.
1835 <dt class=
"hdlist1">
1836 <a href=
"git-checkout-index.html">git-checkout-index(
1)
</a>
1840 Copy files from the index to the working tree.
1843 <dt class=
"hdlist1">
1844 <a href=
"git-commit-graph.html">git-commit-graph(
1)
</a>
1848 Write and verify Git commit-graph files.
1851 <dt class=
"hdlist1">
1852 <a href=
"git-commit-tree.html">git-commit-tree(
1)
</a>
1856 Create a new commit object.
1859 <dt class=
"hdlist1">
1860 <a href=
"git-hash-object.html">git-hash-object(
1)
</a>
1864 Compute object ID and optionally creates a blob from a file.
1867 <dt class=
"hdlist1">
1868 <a href=
"git-index-pack.html">git-index-pack(
1)
</a>
1872 Build pack index file for an existing packed archive.
1875 <dt class=
"hdlist1">
1876 <a href=
"git-merge-file.html">git-merge-file(
1)
</a>
1880 Run a three-way file merge.
1883 <dt class=
"hdlist1">
1884 <a href=
"git-merge-index.html">git-merge-index(
1)
</a>
1888 Run a merge for files needing merging.
1891 <dt class=
"hdlist1">
1892 <a href=
"git-mktag.html">git-mktag(
1)
</a>
1896 Creates a tag object with extra validation.
1899 <dt class=
"hdlist1">
1900 <a href=
"git-mktree.html">git-mktree(
1)
</a>
1904 Build a tree-object from ls-tree formatted text.
1907 <dt class=
"hdlist1">
1908 <a href=
"git-multi-pack-index.html">git-multi-pack-index(
1)
</a>
1912 Write and verify multi-pack-indexes.
1915 <dt class=
"hdlist1">
1916 <a href=
"git-pack-objects.html">git-pack-objects(
1)
</a>
1920 Create a packed archive of objects.
1923 <dt class=
"hdlist1">
1924 <a href=
"git-prune-packed.html">git-prune-packed(
1)
</a>
1928 Remove extra objects that are already in pack files.
1931 <dt class=
"hdlist1">
1932 <a href=
"git-read-tree.html">git-read-tree(
1)
</a>
1936 Reads tree information into the index.
1939 <dt class=
"hdlist1">
1940 <a href=
"git-symbolic-ref.html">git-symbolic-ref(
1)
</a>
1944 Read, modify and delete symbolic refs.
1947 <dt class=
"hdlist1">
1948 <a href=
"git-unpack-objects.html">git-unpack-objects(
1)
</a>
1952 Unpack objects from a packed archive.
1955 <dt class=
"hdlist1">
1956 <a href=
"git-update-index.html">git-update-index(
1)
</a>
1960 Register file contents in the working tree to the index.
1963 <dt class=
"hdlist1">
1964 <a href=
"git-update-ref.html">git-update-ref(
1)
</a>
1968 Update the object name stored in a ref safely.
1971 <dt class=
"hdlist1">
1972 <a href=
"git-write-tree.html">git-write-tree(
1)
</a>
1976 Create a tree object from the current index.
1982 <h3 id=
"_interrogation_commands">Interrogation commands
</h3>
1983 <div class=
"dlist"><dl>
1984 <dt class=
"hdlist1">
1985 <a href=
"git-cat-file.html">git-cat-file(
1)
</a>
1989 Provide content or type and size information for repository objects.
1992 <dt class=
"hdlist1">
1993 <a href=
"git-cherry.html">git-cherry(
1)
</a>
1997 Find commits yet to be applied to upstream.
2000 <dt class=
"hdlist1">
2001 <a href=
"git-diff-files.html">git-diff-files(
1)
</a>
2005 Compares files in the working tree and the index.
2008 <dt class=
"hdlist1">
2009 <a href=
"git-diff-index.html">git-diff-index(
1)
</a>
2013 Compare a tree to the working tree or index.
2016 <dt class=
"hdlist1">
2017 <a href=
"git-diff-tree.html">git-diff-tree(
1)
</a>
2021 Compares the content and mode of blobs found via two tree objects.
2024 <dt class=
"hdlist1">
2025 <a href=
"git-for-each-ref.html">git-for-each-ref(
1)
</a>
2029 Output information on each ref.
2032 <dt class=
"hdlist1">
2033 <a href=
"git-for-each-repo.html">git-for-each-repo(
1)
</a>
2037 Run a Git command on a list of repositories.
2040 <dt class=
"hdlist1">
2041 <a href=
"git-get-tar-commit-id.html">git-get-tar-commit-id(
1)
</a>
2045 Extract commit ID from an archive created using git-archive.
2048 <dt class=
"hdlist1">
2049 <a href=
"git-ls-files.html">git-ls-files(
1)
</a>
2053 Show information about files in the index and the working tree.
2056 <dt class=
"hdlist1">
2057 <a href=
"git-ls-remote.html">git-ls-remote(
1)
</a>
2061 List references in a remote repository.
2064 <dt class=
"hdlist1">
2065 <a href=
"git-ls-tree.html">git-ls-tree(
1)
</a>
2069 List the contents of a tree object.
2072 <dt class=
"hdlist1">
2073 <a href=
"git-merge-base.html">git-merge-base(
1)
</a>
2077 Find as good common ancestors as possible for a merge.
2080 <dt class=
"hdlist1">
2081 <a href=
"git-name-rev.html">git-name-rev(
1)
</a>
2085 Find symbolic names for given revs.
2088 <dt class=
"hdlist1">
2089 <a href=
"git-pack-redundant.html">git-pack-redundant(
1)
</a>
2093 Find redundant pack files.
2096 <dt class=
"hdlist1">
2097 <a href=
"git-rev-list.html">git-rev-list(
1)
</a>
2101 Lists commit objects in reverse chronological order.
2104 <dt class=
"hdlist1">
2105 <a href=
"git-rev-parse.html">git-rev-parse(
1)
</a>
2109 Pick out and massage parameters.
2112 <dt class=
"hdlist1">
2113 <a href=
"git-show-index.html">git-show-index(
1)
</a>
2117 Show packed archive index.
2120 <dt class=
"hdlist1">
2121 <a href=
"git-show-ref.html">git-show-ref(
1)
</a>
2125 List references in a local repository.
2128 <dt class=
"hdlist1">
2129 <a href=
"git-unpack-file.html">git-unpack-file(
1)
</a>
2133 Creates a temporary file with a blob
’s contents.
2136 <dt class=
"hdlist1">
2137 <a href=
"git-var.html">git-var(
1)
</a>
2141 Show a Git logical variable.
2144 <dt class=
"hdlist1">
2145 <a href=
"git-verify-pack.html">git-verify-pack(
1)
</a>
2149 Validate packed Git archive files.
2153 <div class=
"paragraph"><p>In general, the interrogate commands do not touch the files in
2154 the working tree.
</p></div>
2157 <h3 id=
"_syncing_repositories">Syncing repositories
</h3>
2158 <div class=
"dlist"><dl>
2159 <dt class=
"hdlist1">
2160 <a href=
"git-daemon.html">git-daemon(
1)
</a>
2164 A really simple server for Git repositories.
2167 <dt class=
"hdlist1">
2168 <a href=
"git-fetch-pack.html">git-fetch-pack(
1)
</a>
2172 Receive missing objects from another repository.
2175 <dt class=
"hdlist1">
2176 <a href=
"git-http-backend.html">git-http-backend(
1)
</a>
2180 Server side implementation of Git over HTTP.
2183 <dt class=
"hdlist1">
2184 <a href=
"git-send-pack.html">git-send-pack(
1)
</a>
2188 Push objects over Git protocol to another repository.
2191 <dt class=
"hdlist1">
2192 <a href=
"git-update-server-info.html">git-update-server-info(
1)
</a>
2196 Update auxiliary info file to help dumb servers.
2200 <div class=
"paragraph"><p>The following are helper commands used by the above; end users
2201 typically do not use them directly.
</p></div>
2202 <div class=
"dlist"><dl>
2203 <dt class=
"hdlist1">
2204 <a href=
"git-http-fetch.html">git-http-fetch(
1)
</a>
2208 Download from a remote Git repository via HTTP.
2211 <dt class=
"hdlist1">
2212 <a href=
"git-http-push.html">git-http-push(
1)
</a>
2216 Push objects over HTTP/DAV to another repository.
2219 <dt class=
"hdlist1">
2220 <a href=
"git-receive-pack.html">git-receive-pack(
1)
</a>
2224 Receive what is pushed into the repository.
2227 <dt class=
"hdlist1">
2228 <a href=
"git-shell.html">git-shell(
1)
</a>
2232 Restricted login shell for Git-only SSH access.
2235 <dt class=
"hdlist1">
2236 <a href=
"git-upload-archive.html">git-upload-archive(
1)
</a>
2240 Send archive back to git-archive.
2243 <dt class=
"hdlist1">
2244 <a href=
"git-upload-pack.html">git-upload-pack(
1)
</a>
2248 Send objects packed back to git-fetch-pack.
2254 <h3 id=
"_internal_helper_commands">Internal helper commands
</h3>
2255 <div class=
"paragraph"><p>These are internal helper commands used by other commands; end
2256 users typically do not use them directly.
</p></div>
2257 <div class=
"dlist"><dl>
2258 <dt class=
"hdlist1">
2259 <a href=
"git-check-attr.html">git-check-attr(
1)
</a>
2263 Display gitattributes information.
2266 <dt class=
"hdlist1">
2267 <a href=
"git-check-ignore.html">git-check-ignore(
1)
</a>
2271 Debug gitignore / exclude files.
2274 <dt class=
"hdlist1">
2275 <a href=
"git-check-mailmap.html">git-check-mailmap(
1)
</a>
2279 Show canonical names and email addresses of contacts.
2282 <dt class=
"hdlist1">
2283 <a href=
"git-check-ref-format.html">git-check-ref-format(
1)
</a>
2287 Ensures that a reference name is well formed.
2290 <dt class=
"hdlist1">
2291 <a href=
"git-column.html">git-column(
1)
</a>
2295 Display data in columns.
2298 <dt class=
"hdlist1">
2299 <a href=
"git-credential.html">git-credential(
1)
</a>
2303 Retrieve and store user credentials.
2306 <dt class=
"hdlist1">
2307 <a href=
"git-credential-cache.html">git-credential-cache(
1)
</a>
2311 Helper to temporarily store passwords in memory.
2314 <dt class=
"hdlist1">
2315 <a href=
"git-credential-store.html">git-credential-store(
1)
</a>
2319 Helper to store credentials on disk.
2322 <dt class=
"hdlist1">
2323 <a href=
"git-fmt-merge-msg.html">git-fmt-merge-msg(
1)
</a>
2327 Produce a merge commit message.
2330 <dt class=
"hdlist1">
2331 <a href=
"git-hook.html">git-hook(
1)
</a>
2338 <dt class=
"hdlist1">
2339 <a href=
"git-interpret-trailers.html">git-interpret-trailers(
1)
</a>
2343 Add or parse structured information in commit messages.
2346 <dt class=
"hdlist1">
2347 <a href=
"git-mailinfo.html">git-mailinfo(
1)
</a>
2351 Extracts patch and authorship from a single e-mail message.
2354 <dt class=
"hdlist1">
2355 <a href=
"git-mailsplit.html">git-mailsplit(
1)
</a>
2359 Simple UNIX mbox splitter program.
2362 <dt class=
"hdlist1">
2363 <a href=
"git-merge-one-file.html">git-merge-one-file(
1)
</a>
2367 The standard helper program to use with git-merge-index.
2370 <dt class=
"hdlist1">
2371 <a href=
"git-patch-id.html">git-patch-id(
1)
</a>
2375 Compute unique ID for a patch.
2378 <dt class=
"hdlist1">
2379 <a href=
"git-sh-i18n.html">git-sh-i18n(
1)
</a>
2383 Git
’s i18n setup code for shell scripts.
2386 <dt class=
"hdlist1">
2387 <a href=
"git-sh-setup.html">git-sh-setup(
1)
</a>
2391 Common Git shell script setup code.
2394 <dt class=
"hdlist1">
2395 <a href=
"git-stripspace.html">git-stripspace(
1)
</a>
2399 Remove unnecessary whitespace.
2407 <h2 id=
"_guides">Guides
</h2>
2408 <div class=
"sectionbody">
2409 <div class=
"paragraph"><p>The following documentation pages are guides about Git concepts.
</p></div>
2410 <div class=
"dlist"><dl>
2411 <dt class=
"hdlist1">
2412 <a href=
"gitcore-tutorial.html">gitcore-tutorial(
7)
</a>
2416 A Git core tutorial for developers.
2419 <dt class=
"hdlist1">
2420 <a href=
"gitcredentials.html">gitcredentials(
7)
</a>
2424 Providing usernames and passwords to Git.
2427 <dt class=
"hdlist1">
2428 <a href=
"gitcvs-migration.html">gitcvs-migration(
7)
</a>
2435 <dt class=
"hdlist1">
2436 <a href=
"gitdiffcore.html">gitdiffcore(
7)
</a>
2440 Tweaking diff output.
2443 <dt class=
"hdlist1">
2444 <a href=
"giteveryday.html">giteveryday(
7)
</a>
2448 A useful minimum set of commands for Everyday Git.
2451 <dt class=
"hdlist1">
2452 <a href=
"gitfaq.html">gitfaq(
7)
</a>
2456 Frequently asked questions about using Git.
2459 <dt class=
"hdlist1">
2460 <a href=
"gitglossary.html">gitglossary(
7)
</a>
2467 <dt class=
"hdlist1">
2468 <a href=
"gitnamespaces.html">gitnamespaces(
7)
</a>
2475 <dt class=
"hdlist1">
2476 <a href=
"gitremote-helpers.html">gitremote-helpers(
7)
</a>
2480 Helper programs to interact with remote repositories.
2483 <dt class=
"hdlist1">
2484 <a href=
"gitsubmodules.html">gitsubmodules(
7)
</a>
2488 Mounting one repository inside another.
2491 <dt class=
"hdlist1">
2492 <a href=
"gittutorial.html">gittutorial(
7)
</a>
2496 A tutorial introduction to Git.
2499 <dt class=
"hdlist1">
2500 <a href=
"gittutorial-2.html">gittutorial-
2(
7)
</a>
2504 A tutorial introduction to Git: part two.
2507 <dt class=
"hdlist1">
2508 <a href=
"gitworkflows.html">gitworkflows(
7)
</a>
2512 An overview of recommended workflows with Git.
2519 <h2 id=
"_repository_command_and_file_interfaces">Repository, command and file interfaces
</h2>
2520 <div class=
"sectionbody">
2521 <div class=
"paragraph"><p>This documentation discusses repository and command interfaces which
2522 users are expected to interact with directly. See
<code>--user-formats
</code> in
2523 <a href=
"git-help.html">git-help(
1)
</a> for more details on the criteria.
</p></div>
2524 <div class=
"dlist"><dl>
2525 <dt class=
"hdlist1">
2526 <a href=
"gitattributes.html">gitattributes(
5)
</a>
2530 Defining attributes per path.
2533 <dt class=
"hdlist1">
2534 <a href=
"gitcli.html">gitcli(
7)
</a>
2538 Git command-line interface and conventions.
2541 <dt class=
"hdlist1">
2542 <a href=
"githooks.html">githooks(
5)
</a>
2549 <dt class=
"hdlist1">
2550 <a href=
"gitignore.html">gitignore(
5)
</a>
2554 Specifies intentionally untracked files to ignore.
2557 <dt class=
"hdlist1">
2558 <a href=
"gitmailmap.html">gitmailmap(
5)
</a>
2562 Map author/committer names and/or E-Mail addresses.
2565 <dt class=
"hdlist1">
2566 <a href=
"gitmodules.html">gitmodules(
5)
</a>
2570 Defining submodule properties.
2573 <dt class=
"hdlist1">
2574 <a href=
"gitrepository-layout.html">gitrepository-layout(
5)
</a>
2578 Git Repository Layout.
2581 <dt class=
"hdlist1">
2582 <a href=
"gitrevisions.html">gitrevisions(
7)
</a>
2586 Specifying revisions and ranges for Git.
2593 <h2 id=
"_file_formats_protocols_and_other_developer_interfaces">File formats, protocols and other developer interfaces
</h2>
2594 <div class=
"sectionbody">
2595 <div class=
"paragraph"><p>This documentation discusses file formats, over-the-wire protocols and
2596 other git developer interfaces. See
<code>--developer-interfaces
</code> in
2597 <a href=
"git-help.html">git-help(
1)
</a>.
</p></div>
2598 <div class=
"dlist"><dl>
2599 <dt class=
"hdlist1">
2600 <a href=
"gitformat-bundle.html">gitformat-bundle(
5)
</a>
2604 The bundle file format.
2607 <dt class=
"hdlist1">
2608 <a href=
"gitformat-chunk.html">gitformat-chunk(
5)
</a>
2612 Chunk-based file formats.
2615 <dt class=
"hdlist1">
2616 <a href=
"gitformat-commit-graph.html">gitformat-commit-graph(
5)
</a>
2620 Git commit graph format.
2623 <dt class=
"hdlist1">
2624 <a href=
"gitformat-index.html">gitformat-index(
5)
</a>
2631 <dt class=
"hdlist1">
2632 <a href=
"gitformat-pack.html">gitformat-pack(
5)
</a>
2639 <dt class=
"hdlist1">
2640 <a href=
"gitformat-signature.html">gitformat-signature(
5)
</a>
2644 Git cryptographic signature formats.
2647 <dt class=
"hdlist1">
2648 <a href=
"gitprotocol-capabilities.html">gitprotocol-capabilities(
5)
</a>
2652 Protocol v0 and v1 capabilities.
2655 <dt class=
"hdlist1">
2656 <a href=
"gitprotocol-common.html">gitprotocol-common(
5)
</a>
2660 Things common to various protocols.
2663 <dt class=
"hdlist1">
2664 <a href=
"gitprotocol-http.html">gitprotocol-http(
5)
</a>
2668 Git HTTP-based protocols.
2671 <dt class=
"hdlist1">
2672 <a href=
"gitprotocol-pack.html">gitprotocol-pack(
5)
</a>
2676 How packs are transferred over-the-wire.
2679 <dt class=
"hdlist1">
2680 <a href=
"gitprotocol-v2.html">gitprotocol-v2(
5)
</a>
2684 Git Wire Protocol, Version
2.
2691 <h2 id=
"_configuration_mechanism">Configuration Mechanism
</h2>
2692 <div class=
"sectionbody">
2693 <div class=
"paragraph"><p>Git uses a simple text format to store customizations that are per
2694 repository and are per user. Such a configuration file may look
2695 like this:
</p></div>
2696 <div class=
"listingblock">
2697 <div class=
"content">
2699 # A '#' or ';' character indicates a comment.
2704 ; Don't trust file modes
2709 name =
"Junio C Hamano"
2710 email =
"gitster@pobox.com"</code></pre>
2712 <div class=
"paragraph"><p>Various commands read from the configuration file and adjust
2713 their operation accordingly. See
<a href=
"git-config.html">git-config(
1)
</a> for a
2714 list and more details about the configuration mechanism.
</p></div>
2718 <h2 id=
"_identifier_terminology">Identifier Terminology
</h2>
2719 <div class=
"sectionbody">
2720 <div class=
"dlist"><dl>
2721 <dt class=
"hdlist1">
2726 Indicates the object name for any type of object.
2729 <dt class=
"hdlist1">
2734 Indicates a blob object name.
2737 <dt class=
"hdlist1">
2742 Indicates a tree object name.
2745 <dt class=
"hdlist1">
2750 Indicates a commit object name.
2753 <dt class=
"hdlist1">
2758 Indicates a tree, commit or tag object name. A
2759 command that takes a
<tree-ish
> argument ultimately wants to
2760 operate on a
<tree
> object but automatically dereferences
2761 <commit
> and
<tag
> objects that point at a
<tree
>.
2764 <dt class=
"hdlist1">
2769 Indicates a commit or tag object name. A
2770 command that takes a
<commit-ish
> argument ultimately wants to
2771 operate on a
<commit
> object but automatically dereferences
2772 <tag
> objects that point at a
<commit
>.
2775 <dt class=
"hdlist1">
2780 Indicates that an object type is required.
2781 Currently one of:
<code>blob
</code>,
<code>tree
</code>,
<code>commit
</code>, or
<code>tag
</code>.
2784 <dt class=
"hdlist1">
2789 Indicates a filename - almost always relative to the
2790 root of the tree structure
<code>GIT_INDEX_FILE
</code> describes.
2797 <h2 id=
"_symbolic_identifiers">Symbolic Identifiers
</h2>
2798 <div class=
"sectionbody">
2799 <div class=
"paragraph"><p>Any Git command accepting any
<object
> can also use the following
2800 symbolic notation:
</p></div>
2801 <div class=
"dlist"><dl>
2802 <dt class=
"hdlist1">
2807 indicates the head of the current branch.
2810 <dt class=
"hdlist1">
2815 a valid tag
<em>name
</em>
2816 (i.e. a
<code>refs/tags/
<tag
></code> reference).
2819 <dt class=
"hdlist1">
2824 a valid head
<em>name
</em>
2825 (i.e. a
<code>refs/heads/
<head
></code> reference).
2829 <div class=
"paragraph"><p>For a more complete list of ways to spell object names, see
2830 "SPECIFYING REVISIONS" section in
<a href=
"gitrevisions.html">gitrevisions(
7)
</a>.
</p></div>
2834 <h2 id=
"_file_directory_structure">File/Directory Structure
</h2>
2835 <div class=
"sectionbody">
2836 <div class=
"paragraph"><p>Please see the
<a href=
"gitrepository-layout.html">gitrepository-layout(
5)
</a> document.
</p></div>
2837 <div class=
"paragraph"><p>Read
<a href=
"githooks.html">githooks(
5)
</a> for more details about each hook.
</p></div>
2838 <div class=
"paragraph"><p>Higher level SCMs may provide and manage additional information in the
2839 <code>$GIT_DIR
</code>.
</p></div>
2843 <h2 id=
"_terminology">Terminology
</h2>
2844 <div class=
"sectionbody">
2845 <div class=
"paragraph"><p>Please see
<a href=
"gitglossary.html">gitglossary(
7)
</a>.
</p></div>
2849 <h2 id=
"_environment_variables">Environment Variables
</h2>
2850 <div class=
"sectionbody">
2851 <div class=
"paragraph"><p>Various Git commands pay attention to environment variables and change
2852 their behavior. The environment variables marked as
"Boolean" take
2853 their values the same way as Boolean valued configuration variables, e.g.
2854 "true",
"yes",
"on" and positive numbers are taken as
"yes".
</p></div>
2855 <div class=
"paragraph"><p>Here are the variables:
</p></div>
2857 <h3 id=
"_the_git_repository">The Git Repository
</h3>
2858 <div class=
"paragraph"><p>These environment variables apply to
<em>all
</em> core Git commands. Nb: it
2859 is worth noting that they may be used/overridden by SCMS sitting above
2860 Git so take care if using a foreign front-end.
</p></div>
2861 <div class=
"dlist"><dl>
2862 <dt class=
"hdlist1">
2863 <code>GIT_INDEX_FILE
</code>
2867 This environment variable specifies an alternate
2868 index file. If not specified, the default of
<code>$GIT_DIR/index
</code>
2872 <dt class=
"hdlist1">
2873 <code>GIT_INDEX_VERSION
</code>
2877 This environment variable specifies what index version is used
2878 when writing the index file out. It won
’t affect existing index
2879 files. By default index file version
2 or
3 is used. See
2880 <a href=
"git-update-index.html">git-update-index(
1)
</a> for more information.
2883 <dt class=
"hdlist1">
2884 <code>GIT_OBJECT_DIRECTORY
</code>
2888 If the object storage directory is specified via this
2889 environment variable then the sha1 directories are created
2890 underneath - otherwise the default
<code>$GIT_DIR/objects
</code>
2894 <dt class=
"hdlist1">
2895 <code>GIT_ALTERNATE_OBJECT_DIRECTORIES
</code>
2899 Due to the immutable nature of Git objects, old objects can be
2900 archived into shared, read-only directories. This variable
2901 specifies a
":" separated (on Windows
";" separated) list
2902 of Git object directories which can be used to search for Git
2903 objects. New objects will not be written to these directories.
2905 <div class=
"paragraph"><p>Entries that begin with
<code>"</code> (double-quote) will be interpreted
2906 as C-style quoted paths, removing leading and trailing
2907 double-quotes and respecting backslash escapes. E.g., the value
2908 <code>"path-with-\
"-and-:-in-it":vanilla-path
</code> has two paths:
2909 <code>path-with-
"-and-:-in-it</code> and <code>vanilla-path</code>.</p></div>
2911 <dt class="hdlist1
">
2912 <code>GIT_DIR</code>
2916 If the <code>GIT_DIR</code> environment variable is set then it
2917 specifies a path to use instead of the default <code>.git</code>
2918 for the base of the repository.
2919 The <code>--git-dir</code> command-line option also sets this value.
2922 <dt class="hdlist1
">
2923 <code>GIT_WORK_TREE</code>
2927 Set the path to the root of the working tree.
2928 This can also be controlled by the <code>--work-tree</code> command-line
2929 option and the core.worktree configuration variable.
2932 <dt class="hdlist1
">
2933 <code>GIT_NAMESPACE</code>
2937 Set the Git namespace; see <a href="gitnamespaces.html
">gitnamespaces(7)</a> for details.
2938 The <code>--namespace</code> command-line option also sets this value.
2941 <dt class="hdlist1
">
2942 <code>GIT_CEILING_DIRECTORIES</code>
2946 This should be a colon-separated list of absolute paths. If
2947 set, it is a list of directories that Git should not chdir up
2948 into while looking for a repository directory (useful for
2949 excluding slow-loading network directories). It will not
2950 exclude the current working directory or a GIT_DIR set on the
2951 command line or in the environment. Normally, Git has to read
2952 the entries in this list and resolve any symlink that
2953 might be present in order to compare them with the current
2954 directory. However, if even this access is slow, you
2955 can add an empty entry to the list to tell Git that the
2956 subsequent entries are not symlinks and needn’t be resolved;
2958 <code>GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink</code>.
2961 <dt class="hdlist1
">
2962 <code>GIT_DISCOVERY_ACROSS_FILESYSTEM</code>
2966 When run in a directory that does not have ".git
" repository
2967 directory, Git tries to find such a directory in the parent
2968 directories to find the top of the working tree, but by default it
2969 does not cross filesystem boundaries. This Boolean environment variable
2970 can be set to true to tell Git not to stop at filesystem
2971 boundaries. Like <code>GIT_CEILING_DIRECTORIES</code>, this will not affect
2972 an explicit repository directory set via <code>GIT_DIR</code> or on the
2976 <dt class="hdlist1
">
2977 <code>GIT_COMMON_DIR</code>
2981 If this variable is set to a path, non-worktree files that are
2982 normally in $GIT_DIR will be taken from this path
2983 instead. Worktree-specific files such as HEAD or index are
2984 taken from $GIT_DIR. See <a href="gitrepository-layout.html
">gitrepository-layout(5)</a> and
2985 <a href="git-worktree.html
">git-worktree(1)</a> for
2986 details. This variable has lower precedence than other path
2987 variables such as GIT_INDEX_FILE, GIT_OBJECT_DIRECTORY…
2990 <dt class="hdlist1
">
2991 <code>GIT_DEFAULT_HASH</code>
2995 If this variable is set, the default hash algorithm for new
2996 repositories will be set to this value. This value is currently
2997 ignored when cloning; the setting of the remote repository
2998 is used instead. The default is "sha1
". THIS VARIABLE IS
2999 EXPERIMENTAL! See <code>--object-format</code> in <a href="git-init.html
">git-init(1)</a>.
3005 <h3 id="_git_commits
">Git Commits</h3>
3006 <div class="dlist
"><dl>
3007 <dt class="hdlist1
">
3008 <code>GIT_AUTHOR_NAME</code>
3012 The human-readable name used in the author identity when creating commit or
3013 tag objects, or when writing reflogs. Overrides the <code>user.name</code> and
3014 <code>author.name</code> configuration settings.
3017 <dt class="hdlist1
">
3018 <code>GIT_AUTHOR_EMAIL</code>
3022 The email address used in the author identity when creating commit or
3023 tag objects, or when writing reflogs. Overrides the <code>user.email</code> and
3024 <code>author.email</code> configuration settings.
3027 <dt class="hdlist1
">
3028 <code>GIT_AUTHOR_DATE</code>
3032 The date used for the author identity when creating commit or tag objects, or
3033 when writing reflogs. See <a href="git-commit.html
">git-commit(1)</a> for valid formats.
3036 <dt class="hdlist1
">
3037 <code>GIT_COMMITTER_NAME</code>
3041 The human-readable name used in the committer identity when creating commit or
3042 tag objects, or when writing reflogs. Overrides the <code>user.name</code> and
3043 <code>committer.name</code> configuration settings.
3046 <dt class="hdlist1
">
3047 <code>GIT_COMMITTER_EMAIL</code>
3051 The email address used in the author identity when creating commit or
3052 tag objects, or when writing reflogs. Overrides the <code>user.email</code> and
3053 <code>committer.email</code> configuration settings.
3056 <dt class="hdlist1
">
3057 <code>GIT_COMMITTER_DATE</code>
3061 The date used for the committer identity when creating commit or tag objects, or
3062 when writing reflogs. See <a href="git-commit.html
">git-commit(1)</a> for valid formats.
3065 <dt class="hdlist1
">
3070 The email address used in the author and committer identities if no other
3071 relevant environment variable or configuration setting has been set.
3077 <h3 id="_git_diffs
">Git Diffs</h3>
3078 <div class="dlist
"><dl>
3079 <dt class="hdlist1
">
3080 <code>GIT_DIFF_OPTS</code>
3084 Only valid setting is "--unified=??
" or "-u??
" to set the
3085 number of context lines shown when a unified diff is created.
3086 This takes precedence over any "-U
" or "--unified
" option
3087 value passed on the Git diff command line.
3090 <dt class="hdlist1
">
3091 <code>GIT_EXTERNAL_DIFF</code>
3095 When the environment variable <code>GIT_EXTERNAL_DIFF</code> is set, the
3096 program named by it is called to generate diffs, and Git
3097 does not use its builtin diff machinery.
3098 For a path that is added, removed, or modified,
3099 <code>GIT_EXTERNAL_DIFF</code> is called with 7 parameters:
3101 <div class="literalblock
">
3102 <div class="content
">
3103 <pre><code>path old-file old-hex old-mode new-file new-hex new-mode</code></pre>
3105 <div class="paragraph
"><p>where:</p></div>
3107 <dt class="hdlist1
">
3108 <old|new>-file
3112 are files GIT_EXTERNAL_DIFF can use to read the
3113 contents of <old|new>,
3116 <dt class="hdlist1
">
3121 are the 40-hexdigit SHA-1 hashes,
3124 <dt class="hdlist1
">
3125 <old|new>-mode
3129 are the octal representation of the file modes.
3131 <div class="paragraph
"><p>The file parameters can point at the user’s working file
3132 (e.g. <code>new-file</code> in "git-diff-files
"), <code>/dev/null</code> (e.g. <code>old-file</code>
3133 when a new file is added), or a temporary file (e.g. <code>old-file</code> in the
3134 index). <code>GIT_EXTERNAL_DIFF</code> should not worry about unlinking the
3135 temporary file --- it is removed when <code>GIT_EXTERNAL_DIFF</code> exits.</p></div>
3136 <div class="paragraph
"><p>For a path that is unmerged, <code>GIT_EXTERNAL_DIFF</code> is called with 1
3137 parameter, <path>.</p></div>
3138 <div class="paragraph
"><p>For each path <code>GIT_EXTERNAL_DIFF</code> is called, two environment variables,
3139 <code>GIT_DIFF_PATH_COUNTER</code> and <code>GIT_DIFF_PATH_TOTAL</code> are set.</p></div>
3141 <dt class="hdlist1
">
3142 <code>GIT_DIFF_PATH_COUNTER</code>
3146 A 1-based counter incremented by one for every path.
3149 <dt class="hdlist1
">
3150 <code>GIT_DIFF_PATH_TOTAL</code>
3154 The total number of paths.
3160 <h3 id="_other
">other</h3>
3161 <div class="dlist
"><dl>
3162 <dt class="hdlist1
">
3163 <code>GIT_MERGE_VERBOSITY</code>
3167 A number controlling the amount of output shown by
3168 the recursive merge strategy. Overrides merge.verbosity.
3169 See <a href="git-merge.html
">git-merge(1)</a>
3172 <dt class="hdlist1
">
3173 <code>GIT_PAGER</code>
3177 This environment variable overrides <code>$PAGER</code>. If it is set
3178 to an empty string or to the value "cat
", Git will not launch
3179 a pager. See also the <code>core.pager</code> option in
3180 <a href="git-config.html
">git-config(1)</a>.
3183 <dt class="hdlist1
">
3184 <code>GIT_PROGRESS_DELAY</code>
3188 A number controlling how many seconds to delay before showing
3189 optional progress indicators. Defaults to 2.
3192 <dt class="hdlist1
">
3193 <code>GIT_EDITOR</code>
3197 This environment variable overrides <code>$EDITOR</code> and <code>$VISUAL</code>.
3198 It is used by several Git commands when, on interactive mode,
3199 an editor is to be launched. See also <a href="git-var.html
">git-var(1)</a>
3200 and the <code>core.editor</code> option in <a href="git-config.html
">git-config(1)</a>.
3203 <dt class="hdlist1
">
3204 <code>GIT_SEQUENCE_EDITOR</code>
3208 This environment variable overrides the configured Git editor
3209 when editing the todo list of an interactive rebase. See also
3210 <a href="git-rebase.html
">git-rebase(1)</a> and the <code>sequence.editor</code> option in
3211 <a href="git-config.html
">git-config(1)</a>.
3214 <dt class="hdlist1
">
3215 <code>GIT_SSH</code>
3217 <dt class="hdlist1
">
3218 <code>GIT_SSH_COMMAND</code>
3222 If either of these environment variables is set then <em>git fetch</em>
3223 and <em>git push</em> will use the specified command instead of <em>ssh</em>
3224 when they need to connect to a remote system.
3225 The command-line parameters passed to the configured command are
3226 determined by the ssh variant. See <code>ssh.variant</code> option in
3227 <a href="git-config.html
">git-config(1)</a> for details.
3229 <div class="paragraph
"><p><code>$GIT_SSH_COMMAND</code> takes precedence over <code>$GIT_SSH</code>, and is interpreted
3230 by the shell, which allows additional arguments to be included.
3231 <code>$GIT_SSH</code> on the other hand must be just the path to a program
3232 (which can be a wrapper shell script, if additional arguments are
3234 <div class="paragraph
"><p>Usually it is easier to configure any desired options through your
3235 personal <code>.ssh/config</code> file. Please consult your ssh documentation
3236 for further details.</p></div>
3238 <dt class="hdlist1
">
3239 <code>GIT_SSH_VARIANT</code>
3243 If this environment variable is set, it overrides Git’s autodetection
3244 whether <code>GIT_SSH</code>/<code>GIT_SSH_COMMAND</code>/<code>core.sshCommand</code> refer to OpenSSH,
3245 plink or tortoiseplink. This variable overrides the config setting
3246 <code>ssh.variant</code> that serves the same purpose.
3249 <dt class="hdlist1
">
3250 <code>GIT_SSL_NO_VERIFY</code>
3254 Setting and exporting this environment variable to any value
3255 tells Git not to verify the SSL certificate when fetching or
3259 <dt class="hdlist1
">
3260 <code>GIT_ASKPASS</code>
3264 If this environment variable is set, then Git commands which need to
3265 acquire passwords or passphrases (e.g. for HTTP or IMAP authentication)
3266 will call this program with a suitable prompt as command-line argument
3267 and read the password from its STDOUT. See also the <code>core.askPass</code>
3268 option in <a href="git-config.html
">git-config(1)</a>.
3271 <dt class="hdlist1
">
3272 <code>GIT_TERMINAL_PROMPT</code>
3276 If this Boolean environment variable is set to false, git will not prompt
3277 on the terminal (e.g., when asking for HTTP authentication).
3280 <dt class="hdlist1
">
3281 <code>GIT_CONFIG_GLOBAL</code>
3283 <dt class="hdlist1
">
3284 <code>GIT_CONFIG_SYSTEM</code>
3288 Take the configuration from the given files instead from global or
3289 system-level configuration files. If <code>GIT_CONFIG_SYSTEM</code> is set, the
3290 system config file defined at build time (usually <code>/etc/gitconfig</code>)
3291 will not be read. Likewise, if <code>GIT_CONFIG_GLOBAL</code> is set, neither
3292 <code>$HOME/.gitconfig</code> nor <code>$XDG_CONFIG_HOME/git/config</code> will be read. Can
3293 be set to <code>/dev/null</code> to skip reading configuration files of the
3297 <dt class="hdlist1
">
3298 <code>GIT_CONFIG_NOSYSTEM</code>
3302 Whether to skip reading settings from the system-wide
3303 <code>$(prefix)/etc/gitconfig</code> file. This Boolean environment variable can
3304 be used along with <code>$HOME</code> and <code>$XDG_CONFIG_HOME</code> to create a
3305 predictable environment for a picky script, or you can set it
3306 to true to temporarily avoid using a buggy <code>/etc/gitconfig</code> file while
3307 waiting for someone with sufficient permissions to fix it.
3310 <dt class="hdlist1
">
3311 <code>GIT_FLUSH</code>
3316 If this environment variable is set to "1", then commands such
3317 as <em>git blame</em> (in incremental mode), <em>git rev-list</em>, <em>git log</em>,
3318 <em>git check-attr</em> and <em>git check-ignore</em> will
3319 force a flush of the output stream after each record have been
3321 variable is set to "0", the output of these commands will be done
3322 using completely buffered I/O. If this environment variable is
3323 not set, Git will choose buffered or record-oriented flushing
3324 based on whether stdout appears to be redirected to a file or not.
3327 <dt class="hdlist1
">
3328 <code>GIT_TRACE</code>
3332 Enables general trace messages, e.g. alias expansion, built-in
3333 command execution and external command execution.
3335 <div class="paragraph
"><p>If this variable is set to "1", "2" or "true
" (comparison
3336 is case insensitive), trace messages will be printed to
3338 <div class="paragraph
"><p>If the variable is set to an integer value greater than 2
3339 and lower than 10 (strictly) then Git will interpret this
3340 value as an open file descriptor and will try to write the
3341 trace messages into this file descriptor.</p></div>
3342 <div class="paragraph
"><p>Alternatively, if the variable is set to an absolute path
3343 (starting with a <em>/</em> character), Git will interpret this
3344 as a file path and will try to append the trace messages
3346 <div class="paragraph
"><p>Unsetting the variable, or setting it to empty, "0" or
3347 "false
" (case insensitive) disables trace messages.</p></div>
3349 <dt class="hdlist1
">
3350 <code>GIT_TRACE_FSMONITOR</code>
3354 Enables trace messages for the filesystem monitor extension.
3355 See <code>GIT_TRACE</code> for available trace output options.
3358 <dt class="hdlist1
">
3359 <code>GIT_TRACE_PACK_ACCESS</code>
3363 Enables trace messages for all accesses to any packs. For each
3364 access, the pack file name and an offset in the pack is
3365 recorded. This may be helpful for troubleshooting some
3366 pack-related performance problems.
3367 See <code>GIT_TRACE</code> for available trace output options.
3370 <dt class="hdlist1
">
3371 <code>GIT_TRACE_PACKET</code>
3375 Enables trace messages for all packets coming in or out of a
3376 given program. This can help with debugging object negotiation
3377 or other protocol issues. Tracing is turned off at a packet
3378 starting with "PACK
" (but see <code>GIT_TRACE_PACKFILE</code> below).
3379 See <code>GIT_TRACE</code> for available trace output options.
3382 <dt class="hdlist1
">
3383 <code>GIT_TRACE_PACKFILE</code>
3387 Enables tracing of packfiles sent or received by a
3388 given program. Unlike other trace output, this trace is
3389 verbatim: no headers, and no quoting of binary data. You almost
3390 certainly want to direct into a file (e.g.,
3391 <code>GIT_TRACE_PACKFILE=/tmp/my.pack</code>) rather than displaying it on
3392 the terminal or mixing it with other trace output.
3394 <div class="paragraph
"><p>Note that this is currently only implemented for the client side
3395 of clones and fetches.</p></div>
3397 <dt class="hdlist1
">
3398 <code>GIT_TRACE_PERFORMANCE</code>
3402 Enables performance related trace messages, e.g. total execution
3403 time of each Git command.
3404 See <code>GIT_TRACE</code> for available trace output options.
3407 <dt class="hdlist1
">
3408 <code>GIT_TRACE_REFS</code>
3412 Enables trace messages for operations on the ref database.
3413 See <code>GIT_TRACE</code> for available trace output options.
3416 <dt class="hdlist1
">
3417 <code>GIT_TRACE_SETUP</code>
3421 Enables trace messages printing the .git, working tree and current
3422 working directory after Git has completed its setup phase.
3423 See <code>GIT_TRACE</code> for available trace output options.
3426 <dt class="hdlist1
">
3427 <code>GIT_TRACE_SHALLOW</code>
3431 Enables trace messages that can help debugging fetching /
3432 cloning of shallow repositories.
3433 See <code>GIT_TRACE</code> for available trace output options.
3436 <dt class="hdlist1
">
3437 <code>GIT_TRACE_CURL</code>
3441 Enables a curl full trace dump of all incoming and outgoing data,
3442 including descriptive information, of the git transport protocol.
3443 This is similar to doing curl <code>--trace-ascii</code> on the command line.
3444 See <code>GIT_TRACE</code> for available trace output options.
3447 <dt class="hdlist1
">
3448 <code>GIT_TRACE_CURL_NO_DATA</code>
3452 When a curl trace is enabled (see <code>GIT_TRACE_CURL</code> above), do not dump
3453 data (that is, only dump info lines and headers).
3456 <dt class="hdlist1
">
3457 <code>GIT_TRACE2</code>
3461 Enables more detailed trace messages from the "trace2
" library.
3462 Output from <code>GIT_TRACE2</code> is a simple text-based format for human
3465 <div class="paragraph
"><p>If this variable is set to "1", "2" or "true
" (comparison
3466 is case insensitive), trace messages will be printed to
3468 <div class="paragraph
"><p>If the variable is set to an integer value greater than 2
3469 and lower than 10 (strictly) then Git will interpret this
3470 value as an open file descriptor and will try to write the
3471 trace messages into this file descriptor.</p></div>
3472 <div class="paragraph
"><p>Alternatively, if the variable is set to an absolute path
3473 (starting with a <em>/</em> character), Git will interpret this
3474 as a file path and will try to append the trace messages
3475 to it. If the path already exists and is a directory, the
3476 trace messages will be written to files (one per process)
3477 in that directory, named according to the last component
3478 of the SID and an optional counter (to avoid filename
3479 collisions).</p></div>
3480 <div class="paragraph
"><p>In addition, if the variable is set to
3481 <code>af_unix:[<socket_type>:]<absolute-pathname></code>, Git will try
3482 to open the path as a Unix Domain Socket. The socket type
3483 can be either <code>stream</code> or <code>dgram</code>.</p></div>
3484 <div class="paragraph
"><p>Unsetting the variable, or setting it to empty, "0" or
3485 "false
" (case insensitive) disables trace messages.</p></div>
3486 <div class="paragraph
"><p>See <a href="technical/api-trace2.html
">Trace2 documentation</a>
3487 for full details.</p></div>
3489 <dt class="hdlist1
">
3490 <code>GIT_TRACE2_EVENT</code>
3494 This setting writes a JSON-based format that is suited for machine
3496 See <code>GIT_TRACE2</code> for available trace output options and
3497 <a href="technical/api-trace2.html
">Trace2 documentation</a> for full details.
3500 <dt class="hdlist1
">
3501 <code>GIT_TRACE2_PERF</code>
3505 In addition to the text-based messages available in <code>GIT_TRACE2</code>, this
3506 setting writes a column-based format for understanding nesting
3508 See <code>GIT_TRACE2</code> for available trace output options and
3509 <a href="technical/api-trace2.html
">Trace2 documentation</a> for full details.
3512 <dt class="hdlist1
">
3513 <code>GIT_TRACE_REDACT</code>
3517 By default, when tracing is activated, Git redacts the values of
3518 cookies, the "Authorization:
" header, the "Proxy-Authorization:
"
3519 header and packfile URIs. Set this Boolean environment variable to false to prevent this
3523 <dt class="hdlist1
">
3524 <code>GIT_LITERAL_PATHSPECS</code>
3528 Setting this Boolean environment variable to true will cause Git to treat all
3529 pathspecs literally, rather than as glob patterns. For example,
3530 running <code>GIT_LITERAL_PATHSPECS=1 git log -- '*.c'</code> will search
3531 for commits that touch the path <code>*.c</code>, not any paths that the
3532 glob <code>*.c</code> matches. You might want this if you are feeding
3533 literal paths to Git (e.g., paths previously given to you by
3534 <code>git ls-tree</code>, <code>--raw</code> diff output, etc).
3537 <dt class="hdlist1
">
3538 <code>GIT_GLOB_PATHSPECS</code>
3542 Setting this Boolean environment variable to true will cause Git to treat all
3543 pathspecs as glob patterns (aka "glob
" magic).
3546 <dt class="hdlist1
">
3547 <code>GIT_NOGLOB_PATHSPECS</code>
3551 Setting this Boolean environment variable to true will cause Git to treat all
3552 pathspecs as literal (aka "literal
" magic).
3555 <dt class="hdlist1
">
3556 <code>GIT_ICASE_PATHSPECS</code>
3560 Setting this Boolean environment variable to true will cause Git to treat all
3561 pathspecs as case-insensitive.
3564 <dt class="hdlist1
">
3565 <code>GIT_REFLOG_ACTION</code>
3569 When a ref is updated, reflog entries are created to keep
3570 track of the reason why the ref was updated (which is
3571 typically the name of the high-level command that updated
3572 the ref), in addition to the old and new values of the ref.
3573 A scripted Porcelain command can use set_reflog_action
3574 helper function in <code>git-sh-setup</code> to set its name to this
3575 variable when it is invoked as the top level command by the
3576 end user, to be recorded in the body of the reflog.
3579 <dt class="hdlist1
">
3580 <code>GIT_REF_PARANOIA</code>
3584 If this Boolean environment variable is set to false, ignore broken or badly named refs when iterating
3585 over lists of refs. Normally Git will try to include any such
3586 refs, which may cause some operations to fail. This is usually
3587 preferable, as potentially destructive operations (e.g.,
3588 <a href="git-prune.html
">git-prune(1)</a>) are better off aborting rather than
3589 ignoring broken refs (and thus considering the history they
3590 point to as not worth saving). The default value is <code>1</code> (i.e.,
3591 be paranoid about detecting and aborting all operations). You
3592 should not normally need to set this to <code>0</code>, but it may be
3593 useful when trying to salvage data from a corrupted repository.
3596 <dt class="hdlist1
">
3597 <code>GIT_ALLOW_PROTOCOL</code>
3601 If set to a colon-separated list of protocols, behave as if
3602 <code>protocol.allow</code> is set to <code>never</code>, and each of the listed
3603 protocols has <code>protocol.<name>.allow</code> set to <code>always</code>
3604 (overriding any existing configuration). See the description of
3605 <code>protocol.allow</code> in <a href="git-config.html
">git-config(1)</a> for more details.
3608 <dt class="hdlist1
">
3609 <code>GIT_PROTOCOL_FROM_USER</code>
3613 Set this Boolean environment variable to false to prevent protocols used by fetch/push/clone which are
3614 configured to the <code>user</code> state. This is useful to restrict recursive
3615 submodule initialization from an untrusted repository or for programs
3616 which feed potentially-untrusted URLS to git commands. See
3617 <a href="git-config.html
">git-config(1)</a> for more details.
3620 <dt class="hdlist1
">
3621 <code>GIT_PROTOCOL</code>
3625 For internal use only. Used in handshaking the wire protocol.
3626 Contains a colon <em>:</em> separated list of keys with optional values
3627 <em>key[=value]</em>. Presence of unknown keys and values must be
3630 <div class="paragraph
"><p>Note that servers may need to be configured to allow this variable to
3631 pass over some transports. It will be propagated automatically when
3632 accessing local repositories (i.e., <code>file://</code> or a filesystem path), as
3633 well as over the <code>git://</code> protocol. For git-over-http, it should work
3634 automatically in most configurations, but see the discussion in
3635 <a href="git-http-backend.html
">git-http-backend(1)</a>. For git-over-ssh, the ssh server may need
3636 to be configured to allow clients to pass this variable (e.g., by using
3637 <code>AcceptEnv GIT_PROTOCOL</code> with OpenSSH).</p></div>
3638 <div class="paragraph
"><p>This configuration is optional. If the variable is not propagated, then
3639 clients will fall back to the original "v0
" protocol (but may miss out
3640 on some performance improvements or features). This variable currently
3641 only affects clones and fetches; it is not yet used for pushes (but may
3642 be in the future).</p></div>
3644 <dt class="hdlist1
">
3645 <code>GIT_OPTIONAL_LOCKS</code>
3649 If this Boolean environment variable is set to false, Git will complete any requested operation without
3650 performing any optional sub-operations that require taking a lock.
3651 For example, this will prevent <code>git status</code> from refreshing the
3652 index as a side effect. This is useful for processes running in
3653 the background which do not want to cause lock contention with
3654 other operations on the repository. Defaults to <code>1</code>.
3657 <dt class="hdlist1
">
3658 <code>GIT_REDIRECT_STDIN</code>
3660 <dt class="hdlist1
">
3661 <code>GIT_REDIRECT_STDOUT</code>
3663 <dt class="hdlist1
">
3664 <code>GIT_REDIRECT_STDERR</code>
3668 Windows-only: allow redirecting the standard input/output/error
3669 handles to paths specified by the environment variables. This is
3670 particularly useful in multi-threaded applications where the
3671 canonical way to pass standard handles via <code>CreateProcess()</code> is
3672 not an option because it would require the handles to be marked
3673 inheritable (and consequently <strong>every</strong> spawned process would
3674 inherit them, possibly blocking regular Git operations). The
3675 primary intended use case is to use named pipes for communication
3676 (e.g. <code>\\.\pipe\my-git-stdin-123</code>).
3678 <div class="paragraph
"><p>Two special values are supported: <code>off</code> will simply close the
3679 corresponding standard handle, and if <code>GIT_REDIRECT_STDERR</code> is
3680 <code>2>&1</code>, standard error will be redirected to the same handle as
3681 standard output.</p></div>
3683 <dt class="hdlist1
">
3684 <code>GIT_PRINT_SHA1_ELLIPSIS</code> (deprecated)
3688 If set to <code>yes</code>, print an ellipsis following an
3689 (abbreviated) SHA-1 value. This affects indications of
3690 detached HEADs (<a href="git-checkout.html
">git-checkout(1)</a>) and the raw
3691 diff output (<a href="git-diff.html
">git-diff(1)</a>). Printing an
3692 ellipsis in the cases mentioned is no longer considered
3693 adequate and support for it is likely to be removed in the
3694 foreseeable future (along with the variable).
3702 <h2 id="_discussion_a_id_discussion_a
">Discussion<a id="Discussion
"></a></h2>
3703 <div class="sectionbody
">
3704 <div class="paragraph
"><p>More detail on the following is available from the
3705 <a href="user-manual.html#git-concepts
">Git concepts chapter of the
3706 user-manual</a> and <a href="gitcore-tutorial.html
">gitcore-tutorial(7)</a>.</p></div>
3707 <div class="paragraph
"><p>A Git project normally consists of a working directory with a ".git
"
3708 subdirectory at the top level. The .git directory contains, among other
3709 things, a compressed object database representing the complete history
3710 of the project, an "index
" file which links that history to the current
3711 contents of the working tree, and named pointers into that history such
3712 as tags and branch heads.</p></div>
3713 <div class="paragraph
"><p>The object database contains objects of three main types: blobs, which
3714 hold file data; trees, which point to blobs and other trees to build up
3715 directory hierarchies; and commits, which each reference a single tree
3716 and some number of parent commits.</p></div>
3717 <div class="paragraph
"><p>The commit, equivalent to what other systems call a "changeset
" or
3718 "version
", represents a step in the project’s history, and each parent
3719 represents an immediately preceding step. Commits with more than one
3720 parent represent merges of independent lines of development.</p></div>
3721 <div class="paragraph
"><p>All objects are named by the SHA-1 hash of their contents, normally
3722 written as a string of 40 hex digits. Such names are globally unique.
3723 The entire history leading up to a commit can be vouched for by signing
3724 just that commit. A fourth object type, the tag, is provided for this
3726 <div class="paragraph
"><p>When first created, objects are stored in individual files, but for
3727 efficiency may later be compressed together into "pack files
".</p></div>
3728 <div class="paragraph
"><p>Named pointers called refs mark interesting points in history. A ref
3729 may contain the SHA-1 name of an object or the name of another ref. Refs
3730 with names beginning <code>ref/head/</code> contain the SHA-1 name of the most
3731 recent commit (or "head
") of a branch under development. SHA-1 names of
3732 tags of interest are stored under <code>ref/tags/</code>. A special ref named
3733 <code>HEAD</code> contains the name of the currently checked-out branch.</p></div>
3734 <div class="paragraph
"><p>The index file is initialized with a list of all paths and, for each
3735 path, a blob object and a set of attributes. The blob object represents
3736 the contents of the file as of the head of the current branch. The
3737 attributes (last modified time, size, etc.) are taken from the
3738 corresponding file in the working tree. Subsequent changes to the
3739 working tree can be found by comparing these attributes. The index may
3740 be updated with new content, and new commits may be created from the
3741 content stored in the index.</p></div>
3742 <div class="paragraph
"><p>The index is also capable of storing multiple entries (called "stages
")
3743 for a given pathname. These stages are used to hold the various
3744 unmerged version of a file when a merge is in progress.</p></div>
3748 <h2 id="_further_documentation
">FURTHER DOCUMENTATION</h2>
3749 <div class="sectionbody
">
3750 <div class="paragraph
"><p>See the references in the "description
" section to get started
3751 using Git. The following is probably more detail than necessary
3752 for a first-time user.</p></div>
3753 <div class="paragraph
"><p>The <a href="user-manual.html#git-concepts
">Git concepts chapter of the
3754 user-manual</a> and <a href="gitcore-tutorial.html
">gitcore-tutorial(7)</a> both provide
3755 introductions to the underlying Git architecture.</p></div>
3756 <div class="paragraph
"><p>See <a href="gitworkflows.html
">gitworkflows(7)</a> for an overview of recommended workflows.</p></div>
3757 <div class="paragraph
"><p>See also the <a href="howto-index.html
">howto</a> documents for some useful
3759 <div class="paragraph
"><p>The internals are documented in the
3760 <a href="technical/api-index.html
">Git API documentation</a>.</p></div>
3761 <div class="paragraph
"><p>Users migrating from CVS may also want to
3762 read <a href="gitcvs-migration.html
">gitcvs-migration(7)</a>.</p></div>
3766 <h2 id="_authors
">Authors</h2>
3767 <div class="sectionbody
">
3768 <div class="paragraph
"><p>Git was started by Linus Torvalds, and is currently maintained by Junio
3769 C Hamano. Numerous contributions have come from the Git mailing list
3770 <<a href="mailto:git@vger.kernel.org
">git@vger.kernel.org</a>>. <a href="http://www.openhub.net/p/git/contributors/summary
">http://www.openhub.net/p/git/contributors/summary</a>
3771 gives you a more complete list of contributors.</p></div>
3772 <div class="paragraph
"><p>If you have a clone of git.git itself, the
3773 output of <a href="git-shortlog.html
">git-shortlog(1)</a> and <a href="git-blame.html
">git-blame(1)</a> can show you
3774 the authors for specific parts of the project.</p></div>
3778 <h2 id="_reporting_bugs
">Reporting Bugs</h2>
3779 <div class="sectionbody
">
3780 <div class="paragraph
"><p>Report bugs to the Git mailing list <<a href="mailto:git@vger.kernel.org
">git@vger.kernel.org</a>> where the
3781 development and maintenance is primarily done. You do not have to be
3782 subscribed to the list to send a message there. See the list archive
3783 at <a href="https://lore.kernel.org/git
">https://lore.kernel.org/git</a> for previous bug reports and other
3784 discussions.</p></div>
3785 <div class="paragraph
"><p>Issues which are security relevant should be disclosed privately to
3786 the Git Security mailing list <<a href="mailto:git-security@googlegroups.com
">git-security@googlegroups.com</a>>.</p></div>
3790 <h2 id="_see_also
">SEE ALSO</h2>
3791 <div class="sectionbody
">
3792 <div class="paragraph
"><p><a href="gittutorial.html
">gittutorial(7)</a>, <a href="gittutorial-
2.html
">gittutorial-2(7)</a>,
3793 <a href="giteveryday.html
">giteveryday(7)</a>, <a href="gitcvs-migration.html
">gitcvs-migration(7)</a>,
3794 <a href="gitglossary.html
">gitglossary(7)</a>, <a href="gitcore-tutorial.html
">gitcore-tutorial(7)</a>,
3795 <a href="gitcli.html
">gitcli(7)</a>, <a href="user-manual.html
">The Git User’s Manual</a>,
3796 <a href="gitworkflows.html
">gitworkflows(7)</a></p></div>
3800 <h2 id="_git
">GIT</h2>
3801 <div class="sectionbody
">
3802 <div class="paragraph
"><p>Part of the <a href="git.html
">git(1)</a> suite</p></div>
3806 <div id="footnotes
"><hr /></div>
3808 <div id="footer-text
">
3810 2022-10-10 14:40:17 PDT