| <?xml version="1.0" encoding="UTF-8"?> | |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" | |
| "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> | |
| <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> | |
| <head> | |
| <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" /> | |
| <meta name="generator" content="AsciiDoc 8.6.10" /> | |
| <title>git(1)</title> | |
| <style type="text/css"> | |
| /* Shared CSS for AsciiDoc xhtml11 and html5 backends */ | |
| /* Default font. */ | |
| body { | |
| font-family: Georgia,serif; | |
| } | |
| /* Title font. */ | |
| h1, h2, h3, h4, h5, h6, | |
| div.title, caption.title, | |
| thead, p.table.header, | |
| #toctitle, | |
| #author, #revnumber, #revdate, #revremark, | |
| #footer { | |
| font-family: Arial,Helvetica,sans-serif; | |
| } | |
| body { | |
| margin: 1em 5% 1em 5%; | |
| } | |
| a { | |
| color: blue; | |
| text-decoration: underline; | |
| } | |
| a:visited { | |
| color: fuchsia; | |
| } | |
| em { | |
| font-style: italic; | |
| color: navy; | |
| } | |
| strong { | |
| font-weight: bold; | |
| color: #083194; | |
| } | |
| h1, h2, h3, h4, h5, h6 { | |
| color: #527bbd; | |
| margin-top: 1.2em; | |
| margin-bottom: 0.5em; | |
| line-height: 1.3; | |
| } | |
| h1, h2, h3 { | |
| border-bottom: 2px solid silver; | |
| } | |
| h2 { | |
| padding-top: 0.5em; | |
| } | |
| h3 { | |
| float: left; | |
| } | |
| h3 + * { | |
| clear: left; | |
| } | |
| h5 { | |
| font-size: 1.0em; | |
| } | |
| div.sectionbody { | |
| margin-left: 0; | |
| } | |
| hr { | |
| border: 1px solid silver; | |
| } | |
| p { | |
| margin-top: 0.5em; | |
| margin-bottom: 0.5em; | |
| } | |
| ul, ol, li > p { | |
| margin-top: 0; | |
| } | |
| ul > li { color: #aaa; } | |
| ul > li > * { color: black; } | |
| .monospaced, code, pre { | |
| font-family: "Courier New", Courier, monospace; | |
| font-size: inherit; | |
| color: navy; | |
| padding: 0; | |
| margin: 0; | |
| } | |
| pre { | |
| white-space: pre-wrap; | |
| } | |
| #author { | |
| color: #527bbd; | |
| font-weight: bold; | |
| font-size: 1.1em; | |
| } | |
| #email { | |
| } | |
| #revnumber, #revdate, #revremark { | |
| } | |
| #footer { | |
| font-size: small; | |
| border-top: 2px solid silver; | |
| padding-top: 0.5em; | |
| margin-top: 4.0em; | |
| } | |
| #footer-text { | |
| float: left; | |
| padding-bottom: 0.5em; | |
| } | |
| #footer-badges { | |
| float: right; | |
| padding-bottom: 0.5em; | |
| } | |
| #preamble { | |
| margin-top: 1.5em; | |
| margin-bottom: 1.5em; | |
| } | |
| div.imageblock, div.exampleblock, div.verseblock, | |
| div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock, | |
| div.admonitionblock { | |
| margin-top: 1.0em; | |
| margin-bottom: 1.5em; | |
| } | |
| div.admonitionblock { | |
| margin-top: 2.0em; | |
| margin-bottom: 2.0em; | |
| margin-right: 10%; | |
| color: #606060; | |
| } | |
| div.content { /* Block element content. */ | |
| padding: 0; | |
| } | |
| /* Block element titles. */ | |
| div.title, caption.title { | |
| color: #527bbd; | |
| font-weight: bold; | |
| text-align: left; | |
| margin-top: 1.0em; | |
| margin-bottom: 0.5em; | |
| } | |
| div.title + * { | |
| margin-top: 0; | |
| } | |
| td div.title:first-child { | |
| margin-top: 0.0em; | |
| } | |
| div.content div.title:first-child { | |
| margin-top: 0.0em; | |
| } | |
| div.content + div.title { | |
| margin-top: 0.0em; | |
| } | |
| div.sidebarblock > div.content { | |
| background: #ffffee; | |
| border: 1px solid #dddddd; | |
| border-left: 4px solid #f0f0f0; | |
| padding: 0.5em; | |
| } | |
| div.listingblock > div.content { | |
| border: 1px solid #dddddd; | |
| border-left: 5px solid #f0f0f0; | |
| background: #f8f8f8; | |
| padding: 0.5em; | |
| } | |
| div.quoteblock, div.verseblock { | |
| padding-left: 1.0em; | |
| margin-left: 1.0em; | |
| margin-right: 10%; | |
| border-left: 5px solid #f0f0f0; | |
| color: #888; | |
| } | |
| div.quoteblock > div.attribution { | |
| padding-top: 0.5em; | |
| text-align: right; | |
| } | |
| div.verseblock > pre.content { | |
| font-family: inherit; | |
| font-size: inherit; | |
| } | |
| div.verseblock > div.attribution { | |
| padding-top: 0.75em; | |
| text-align: left; | |
| } | |
| /* DEPRECATED: Pre version 8.2.7 verse style literal block. */ | |
| div.verseblock + div.attribution { | |
| text-align: left; | |
| } | |
| div.admonitionblock .icon { | |
| vertical-align: top; | |
| font-size: 1.1em; | |
| font-weight: bold; | |
| text-decoration: underline; | |
| color: #527bbd; | |
| padding-right: 0.5em; | |
| } | |
| div.admonitionblock td.content { | |
| padding-left: 0.5em; | |
| border-left: 3px solid #dddddd; | |
| } | |
| div.exampleblock > div.content { | |
| border-left: 3px solid #dddddd; | |
| padding-left: 0.5em; | |
| } | |
| div.imageblock div.content { padding-left: 0; } | |
| span.image img { border-style: none; vertical-align: text-bottom; } | |
| a.image:visited { color: white; } | |
| dl { | |
| margin-top: 0.8em; | |
| margin-bottom: 0.8em; | |
| } | |
| dt { | |
| margin-top: 0.5em; | |
| margin-bottom: 0; | |
| font-style: normal; | |
| color: navy; | |
| } | |
| dd > *:first-child { | |
| margin-top: 0.1em; | |
| } | |
| ul, ol { | |
| list-style-position: outside; | |
| } | |
| ol.arabic { | |
| list-style-type: decimal; | |
| } | |
| ol.loweralpha { | |
| list-style-type: lower-alpha; | |
| } | |
| ol.upperalpha { | |
| list-style-type: upper-alpha; | |
| } | |
| ol.lowerroman { | |
| list-style-type: lower-roman; | |
| } | |
| ol.upperroman { | |
| list-style-type: upper-roman; | |
| } | |
| div.compact ul, div.compact ol, | |
| div.compact p, div.compact p, | |
| div.compact div, div.compact div { | |
| margin-top: 0.1em; | |
| margin-bottom: 0.1em; | |
| } | |
| tfoot { | |
| font-weight: bold; | |
| } | |
| td > div.verse { | |
| white-space: pre; | |
| } | |
| div.hdlist { | |
| margin-top: 0.8em; | |
| margin-bottom: 0.8em; | |
| } | |
| div.hdlist tr { | |
| padding-bottom: 15px; | |
| } | |
| dt.hdlist1.strong, td.hdlist1.strong { | |
| font-weight: bold; | |
| } | |
| td.hdlist1 { | |
| vertical-align: top; | |
| font-style: normal; | |
| padding-right: 0.8em; | |
| color: navy; | |
| } | |
| td.hdlist2 { | |
| vertical-align: top; | |
| } | |
| div.hdlist.compact tr { | |
| margin: 0; | |
| padding-bottom: 0; | |
| } | |
| .comment { | |
| background: yellow; | |
| } | |
| .footnote, .footnoteref { | |
| font-size: 0.8em; | |
| } | |
| span.footnote, span.footnoteref { | |
| vertical-align: super; | |
| } | |
| #footnotes { | |
| margin: 20px 0 20px 0; | |
| padding: 7px 0 0 0; | |
| } | |
| #footnotes div.footnote { | |
| margin: 0 0 5px 0; | |
| } | |
| #footnotes hr { | |
| border: none; | |
| border-top: 1px solid silver; | |
| height: 1px; | |
| text-align: left; | |
| margin-left: 0; | |
| width: 20%; | |
| min-width: 100px; | |
| } | |
| div.colist td { | |
| padding-right: 0.5em; | |
| padding-bottom: 0.3em; | |
| vertical-align: top; | |
| } | |
| div.colist td img { | |
| margin-top: 0.3em; | |
| } | |
| @media print { | |
| #footer-badges { display: none; } | |
| } | |
| #toc { | |
| margin-bottom: 2.5em; | |
| } | |
| #toctitle { | |
| color: #527bbd; | |
| font-size: 1.1em; | |
| font-weight: bold; | |
| margin-top: 1.0em; | |
| margin-bottom: 0.1em; | |
| } | |
| div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 { | |
| margin-top: 0; | |
| margin-bottom: 0; | |
| } | |
| div.toclevel2 { | |
| margin-left: 2em; | |
| font-size: 0.9em; | |
| } | |
| div.toclevel3 { | |
| margin-left: 4em; | |
| font-size: 0.9em; | |
| } | |
| div.toclevel4 { | |
| margin-left: 6em; | |
| font-size: 0.9em; | |
| } | |
| span.aqua { color: aqua; } | |
| span.black { color: black; } | |
| span.blue { color: blue; } | |
| span.fuchsia { color: fuchsia; } | |
| span.gray { color: gray; } | |
| span.green { color: green; } | |
| span.lime { color: lime; } | |
| span.maroon { color: maroon; } | |
| span.navy { color: navy; } | |
| span.olive { color: olive; } | |
| span.purple { color: purple; } | |
| span.red { color: red; } | |
| span.silver { color: silver; } | |
| span.teal { color: teal; } | |
| span.white { color: white; } | |
| span.yellow { color: yellow; } | |
| span.aqua-background { background: aqua; } | |
| span.black-background { background: black; } | |
| span.blue-background { background: blue; } | |
| span.fuchsia-background { background: fuchsia; } | |
| span.gray-background { background: gray; } | |
| span.green-background { background: green; } | |
| span.lime-background { background: lime; } | |
| span.maroon-background { background: maroon; } | |
| span.navy-background { background: navy; } | |
| span.olive-background { background: olive; } | |
| span.purple-background { background: purple; } | |
| span.red-background { background: red; } | |
| span.silver-background { background: silver; } | |
| span.teal-background { background: teal; } | |
| span.white-background { background: white; } | |
| span.yellow-background { background: yellow; } | |
| span.big { font-size: 2em; } | |
| span.small { font-size: 0.6em; } | |
| span.underline { text-decoration: underline; } | |
| span.overline { text-decoration: overline; } | |
| span.line-through { text-decoration: line-through; } | |
| div.unbreakable { page-break-inside: avoid; } | |
| /* | |
| * xhtml11 specific | |
| * | |
| * */ | |
| div.tableblock { | |
| margin-top: 1.0em; | |
| margin-bottom: 1.5em; | |
| } | |
| div.tableblock > table { | |
| border: 3px solid #527bbd; | |
| } | |
| thead, p.table.header { | |
| font-weight: bold; | |
| color: #527bbd; | |
| } | |
| p.table { | |
| margin-top: 0; | |
| } | |
| /* Because the table frame attribute is overriden by CSS in most browsers. */ | |
| div.tableblock > table[frame="void"] { | |
| border-style: none; | |
| } | |
| div.tableblock > table[frame="hsides"] { | |
| border-left-style: none; | |
| border-right-style: none; | |
| } | |
| div.tableblock > table[frame="vsides"] { | |
| border-top-style: none; | |
| border-bottom-style: none; | |
| } | |
| /* | |
| * html5 specific | |
| * | |
| * */ | |
| table.tableblock { | |
| margin-top: 1.0em; | |
| margin-bottom: 1.5em; | |
| } | |
| thead, p.tableblock.header { | |
| font-weight: bold; | |
| color: #527bbd; | |
| } | |
| p.tableblock { | |
| margin-top: 0; | |
| } | |
| table.tableblock { | |
| border-width: 3px; | |
| border-spacing: 0px; | |
| border-style: solid; | |
| border-color: #527bbd; | |
| border-collapse: collapse; | |
| } | |
| th.tableblock, td.tableblock { | |
| border-width: 1px; | |
| padding: 4px; | |
| border-style: solid; | |
| border-color: #527bbd; | |
| } | |
| table.tableblock.frame-topbot { | |
| border-left-style: hidden; | |
| border-right-style: hidden; | |
| } | |
| table.tableblock.frame-sides { | |
| border-top-style: hidden; | |
| border-bottom-style: hidden; | |
| } | |
| table.tableblock.frame-none { | |
| border-style: hidden; | |
| } | |
| th.tableblock.halign-left, td.tableblock.halign-left { | |
| text-align: left; | |
| } | |
| th.tableblock.halign-center, td.tableblock.halign-center { | |
| text-align: center; | |
| } | |
| th.tableblock.halign-right, td.tableblock.halign-right { | |
| text-align: right; | |
| } | |
| th.tableblock.valign-top, td.tableblock.valign-top { | |
| vertical-align: top; | |
| } | |
| th.tableblock.valign-middle, td.tableblock.valign-middle { | |
| vertical-align: middle; | |
| } | |
| th.tableblock.valign-bottom, td.tableblock.valign-bottom { | |
| vertical-align: bottom; | |
| } | |
| /* | |
| * manpage specific | |
| * | |
| * */ | |
| body.manpage h1 { | |
| padding-top: 0.5em; | |
| padding-bottom: 0.5em; | |
| border-top: 2px solid silver; | |
| border-bottom: 2px solid silver; | |
| } | |
| body.manpage h2 { | |
| border-style: none; | |
| } | |
| body.manpage div.sectionbody { | |
| margin-left: 3em; | |
| } | |
| @media print { | |
| body.manpage div#toc { display: none; } | |
| } | |
| </style> | |
| <script type="text/javascript"> | |
| /*<+'])'); | |
| // Function that scans the DOM tree for header elements (the DOM2 | |
| // nodeIterator API would be a better technique but not supported by all | |
| // browsers). | |
| var iterate = function (el) { | |
| for (var i = el.firstChild; i != null; i = i.nextSibling) { | |
| if (i.nodeType == 1 /* Node.ELEMENT_NODE */) { | |
| var mo = re.exec(i.tagName); | |
| if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") { | |
| result[result.length] = new TocEntry(i, getText(i), mo[1]-1); | |
| } | |
| iterate(i); | |
| } | |
| } | |
| } | |
| iterate(el); | |
| return result; | |
| } | |
| var toc = document.getElementById("toc"); | |
| if (!toc) { | |
| return; | |
| } | |
| // Delete existing TOC entries in case we're reloading the TOC. | |
| var tocEntriesToRemove = []; | |
| var i; | |
| for (i = 0; i < toc.childNodes.length; i++) { | |
| var entry = toc.childNodes[i]; | |
| if (entry.nodeName.toLowerCase() == 'div' | |
| && entry.getAttribute("class") | |
| && entry.getAttribute("class").match(/^toclevel/)) | |
| tocEntriesToRemove.push(entry); | |
| } | |
| for (i = 0; i < tocEntriesToRemove.length; i++) { | |
| toc.removeChild(tocEntriesToRemove[i]); | |
| } | |
| // Rebuild TOC entries. | |
| var entries = tocEntries(document.getElementById("content"), toclevels); | |
| for (var i = 0; i < entries.length; ++i) { | |
| var entry = entries[i]; | |
| if (entry.element.id == "") | |
| entry.element.id = "_toc_" + i; | |
| var a = document.createElement("a"); | |
| a.href = "#" + entry.element.id; | |
| a.appendChild(document.createTextNode(entry.text)); | |
| var div = document.createElement("div"); | |
| div.appendChild(a); | |
| div.className = "toclevel" + entry.toclevel; | |
| toc.appendChild(div); | |
| } | |
| if (entries.length == 0) | |
| toc.parentNode.removeChild(toc); | |
| }, | |
| ///////////////////////////////////////////////////////////////////// | |
| // Footnotes generator | |
| ///////////////////////////////////////////////////////////////////// | |
| /* Based on footnote generation code from: | |
| * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html | |
| */ | |
| footnotes: function () { | |
| // Delete existing footnote entries in case we're reloading the footnodes. | |
| var i; | |
| var noteholder = document.getElementById("footnotes"); | |
| if (!noteholder) { | |
| return; | |
| } | |
| var entriesToRemove = []; | |
| for (i = 0; i < noteholder.childNodes.length; i++) { | |
| var entry = noteholder.childNodes[i]; | |
| if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote") | |
| entriesToRemove.push(entry); | |
| } | |
| for (i = 0; i < entriesToRemove.length; i++) { | |
| noteholder.removeChild(entriesToRemove[i]); | |
| } | |
| // Rebuild footnote entries. | |
| var cont = document.getElementById("content"); | |
| var spans = cont.getElementsByTagName("span"); | |
| var refs = {}; | |
| var n = 0; | |
| for (i=0; i<spans.length; i++) { | |
| if (spans[i].className == "footnote") { | |
| n++; | |
| var note = spans[i].getAttribute("data-note"); | |
| if (!note) { | |
| // Use [\s\S] in place of . so multi-line matches work. | |
| // Because JavaScript has no s (dotall) regex flag. | |
| note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1]; | |
| spans[i].innerHTML = | |
| "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n + | |
| "' title='View footnote' class='footnote'>" + n + "</a>]"; | |
| spans[i].setAttribute("data-note", note); | |
| } | |
| noteholder.innerHTML += | |
| "<div class='footnote' id='_footnote_" + n + "'>" + | |
| "<a href='#_footnoteref_" + n + "' title='Return to text'>" + | |
| n + "</a>. " + note + "</div>"; | |
| var id =spans[i].getAttribute("id"); | |
| if (id != null) refs["#"+id] = n; | |
| } | |
| } | |
| if (n == 0) | |
| noteholder.parentNode.removeChild(noteholder); | |
| else { | |
| // Process footnoterefs. | |
| for (i=0; i<spans.length; i++) { | |
| if (spans[i].className == "footnoteref") { | |
| var href = spans[i].getElementsByTagName("a")[0].getAttribute("href"); | |
| href = href.match(/#.*/)[0]; // Because IE return full URL. | |
| n = refs[href]; | |
| spans[i].innerHTML = | |
| "[<a href='#_footnote_" + n + | |
| "' title='View footnote' class='footnote'>" + n + "</a>]"; | |
| } | |
| } | |
| } | |
| }, | |
| install: function(toclevels) { | |
| var timerId; | |
| function reinstall() { | |
| asciidoc.footnotes(); | |
| if (toclevels) { | |
| asciidoc.toc(toclevels); | |
| } | |
| } | |
| function reinstallAndRemoveTimer() { | |
| clearInterval(timerId); | |
| reinstall(); | |
| } | |
| timerId = setInterval(reinstall, 500); | |
| if (document.addEventListener) | |
| document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false); | |
| else | |
| window.onload = reinstallAndRemoveTimer; | |
| } | |
| } | |
| asciidoc.install(); | |
| /*]]>*/ | |
| </script> | |
| </head> | |
| <body class="manpage"> | |
| <div id="header"> | |
| <h1> | |
| git(1) Manual Page | |
| </h1> | |
| <h2>NAME</h2> | |
| <div class="sectionbody"> | |
| <p>git - | |
| the stupid content tracker | |
| </p> | |
| </div> | |
| </div> | |
| <div id="content"> | |
| <div class="sect1"> | |
| <h2 id="_synopsis">SYNOPSIS</h2> | |
| <div class="sectionbody"> | |
| <div class="verseblock"> | |
| <pre class="content"><em>git</em> [--version] [--help] [-C <path>] [-c <name>=<value>] | |
| [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path] | |
| [-p|--paginate|-P|--no-pager] [--no-replace-objects] [--bare] | |
| [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>] | |
| [--super-prefix=<path>] | |
| <command> [<args>]</pre> | |
| <div class="attribution"> | |
| </div></div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="_description">DESCRIPTION</h2> | |
| <div class="sectionbody"> | |
| <div class="paragraph"><p>Git is a fast, scalable, distributed revision control system with an | |
| unusually rich command set that provides both high-level operations | |
| and full access to internals.</p></div> | |
| <div class="paragraph"><p>See <a href="gittutorial.html">gittutorial(7)</a> to get started, then see | |
| <a href="giteveryday.html">giteveryday(7)</a> for a useful minimum set of | |
| commands. The <a href="user-manual.html">Git User’s Manual</a> has a more | |
| in-depth introduction.</p></div> | |
| <div class="paragraph"><p>After you mastered the basic concepts, you can come back to this | |
| page to learn what commands Git offers. You can learn more about | |
| individual Git commands with "git help command". <a href="gitcli.html">gitcli(7)</a> | |
| manual page gives you an overview of the command-line command syntax.</p></div> | |
| <div class="paragraph"><p>A formatted and hyperlinked copy of the latest Git documentation | |
| can be viewed at <code>https://git.github.io/htmldocs/git.html</code>.</p></div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="_options">OPTIONS</h2> | |
| <div class="sectionbody"> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| --version | |
| </dt> | |
| <dd> | |
| <p> | |
| Prints the Git suite version that the <em>git</em> program came from. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --help | |
| </dt> | |
| <dd> | |
| <p> | |
| Prints the synopsis and a list of the most commonly used | |
| commands. If the option <code>--all</code> or <code>-a</code> is given then all | |
| available commands are printed. If a Git command is named this | |
| option will bring up the manual page for that command. | |
| </p> | |
| <div class="paragraph"><p>Other options are available to control how the manual page is | |
| displayed. See <a href="git-help.html">git-help(1)</a> for more information, | |
| because <code>git --help ...</code> is converted internally into <code>git | |
| help ...</code>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| -C <path> | |
| </dt> | |
| <dd> | |
| <p> | |
| Run as if git was started in <em><path></em> instead of the current working | |
| directory. When multiple <code>-C</code> options are given, each subsequent | |
| non-absolute <code>-C <path></code> is interpreted relative to the preceding <code>-C | |
| <path></code>. | |
| </p> | |
| <div class="paragraph"><p>This option affects options that expect path name like <code>--git-dir</code> and | |
| <code>--work-tree</code> in that their interpretations of the path names would be | |
| made relative to the working directory caused by the <code>-C</code> option. For | |
| example the following invocations are equivalent:</p></div> | |
| <div class="literalblock"> | |
| <div class="content"> | |
| <pre><code>git --git-dir=a.git --work-tree=b -C c status | |
| git --git-dir=c/a.git --work-tree=c/b status</code></pre> | |
| </div></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| -c <name>=<value> | |
| </dt> | |
| <dd> | |
| <p> | |
| Pass a configuration parameter to the command. The value | |
| given will override values from configuration files. | |
| The <name> is expected in the same format as listed by | |
| <em>git config</em> (subkeys separated by dots). | |
| </p> | |
| <div class="paragraph"><p>Note that omitting the <code>=</code> in <code>git -c foo.bar ...</code> is allowed and sets | |
| <code>foo.bar</code> to the boolean true value (just like <code>[foo]bar</code> would in a | |
| config file). Including the equals but with an empty value (like <code>git -c | |
| foo.bar= ...</code>) sets <code>foo.bar</code> to the empty string which <code>git config | |
| --type=bool</code> will convert to <code>false</code>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --exec-path[=<path>] | |
| </dt> | |
| <dd> | |
| <p> | |
| Path to wherever your core Git programs are installed. | |
| This can also be controlled by setting the GIT_EXEC_PATH | |
| environment variable. If no path is given, <em>git</em> will print | |
| the current setting and then exit. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --html-path | |
| </dt> | |
| <dd> | |
| <p> | |
| Print the path, without trailing slash, where Git’s HTML | |
| documentation is installed and exit. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --man-path | |
| </dt> | |
| <dd> | |
| <p> | |
| Print the manpath (see <code>man(1)</code>) for the man pages for | |
| this version of Git and exit. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --info-path | |
| </dt> | |
| <dd> | |
| <p> | |
| Print the path where the Info files documenting this | |
| version of Git are installed and exit. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| -p | |
| </dt> | |
| <dt class="hdlist1"> | |
| --paginate | |
| </dt> | |
| <dd> | |
| <p> | |
| Pipe all output into <em>less</em> (or if set, $PAGER) if standard | |
| output is a terminal. This overrides the <code>pager.<cmd></code> | |
| configuration options (see the "Configuration Mechanism" section | |
| below). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| -P | |
| </dt> | |
| <dt class="hdlist1"> | |
| --no-pager | |
| </dt> | |
| <dd> | |
| <p> | |
| Do not pipe Git output into a pager. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --git-dir=<path> | |
| </dt> | |
| <dd> | |
| <p> | |
| Set the path to the repository. This can also be controlled by | |
| setting the <code>GIT_DIR</code> environment variable. It can be an absolute | |
| path or relative path to current working directory. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --work-tree=<path> | |
| </dt> | |
| <dd> | |
| <p> | |
| Set the path to the working tree. It can be an absolute path | |
| or a path relative to the current working directory. | |
| This can also be controlled by setting the GIT_WORK_TREE | |
| environment variable and the core.worktree configuration | |
| variable (see core.worktree in <a href="git-config.html">git-config(1)</a> for a | |
| more detailed discussion). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --namespace=<path> | |
| </dt> | |
| <dd> | |
| <p> | |
| Set the Git namespace. See <a href="gitnamespaces.html">gitnamespaces(7)</a> for more | |
| details. Equivalent to setting the <code>GIT_NAMESPACE</code> environment | |
| variable. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --super-prefix=<path> | |
| </dt> | |
| <dd> | |
| <p> | |
| Currently for internal use only. Set a prefix which gives a path from | |
| above a repository down to its root. One use is to give submodules | |
| context about the superproject that invoked it. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --bare | |
| </dt> | |
| <dd> | |
| <p> | |
| Treat the repository as a bare repository. If GIT_DIR | |
| environment is not set, it is set to the current working | |
| directory. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --no-replace-objects | |
| </dt> | |
| <dd> | |
| <p> | |
| Do not use replacement refs to replace Git objects. See | |
| <a href="git-replace.html">git-replace(1)</a> for more information. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --literal-pathspecs | |
| </dt> | |
| <dd> | |
| <p> | |
| Treat pathspecs literally (i.e. no globbing, no pathspec magic). | |
| This is equivalent to setting the <code>GIT_LITERAL_PATHSPECS</code> environment | |
| variable to <code>1</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --glob-pathspecs | |
| </dt> | |
| <dd> | |
| <p> | |
| Add "glob" magic to all pathspec. This is equivalent to setting | |
| the <code>GIT_GLOB_PATHSPECS</code> environment variable to <code>1</code>. Disabling | |
| globbing on individual pathspecs can be done using pathspec | |
| magic ":(literal)" | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --noglob-pathspecs | |
| </dt> | |
| <dd> | |
| <p> | |
| Add "literal" magic to all pathspec. This is equivalent to setting | |
| the <code>GIT_NOGLOB_PATHSPECS</code> environment variable to <code>1</code>. Enabling | |
| globbing on individual pathspecs can be done using pathspec | |
| magic ":(glob)" | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --icase-pathspecs | |
| </dt> | |
| <dd> | |
| <p> | |
| Add "icase" magic to all pathspec. This is equivalent to setting | |
| the <code>GIT_ICASE_PATHSPECS</code> environment variable to <code>1</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --no-optional-locks | |
| </dt> | |
| <dd> | |
| <p> | |
| Do not perform optional operations that require locks. This is | |
| equivalent to setting the <code>GIT_OPTIONAL_LOCKS</code> to <code>0</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --list-cmds=group[,group…] | |
| </dt> | |
| <dd> | |
| <p> | |
| List commands by group. This is an internal/experimental | |
| option and may change or be removed in the future. Supported | |
| groups are: builtins, parseopt (builtin commands that use | |
| parse-options), main (all commands in libexec directory), | |
| others (all other commands in <code>$PATH</code> that have git- prefix), | |
| list-<category> (see categories in command-list.txt), | |
| nohelpers (exclude helper commands), alias and config | |
| (retrieve command list from config variable completion.commands) | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="_git_commands">GIT COMMANDS</h2> | |
| <div class="sectionbody"> | |
| <div class="paragraph"><p>We divide Git into high level ("porcelain") commands and low level | |
| ("plumbing") commands.</p></div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="_high_level_commands_porcelain">High-level commands (porcelain)</h2> | |
| <div class="sectionbody"> | |
| <div class="paragraph"><p>We separate the porcelain commands into the main commands and some | |
| ancillary user utilities.</p></div> | |
| <div class="sect2"> | |
| <h3 id="_main_porcelain_commands">Main porcelain commands</h3> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <a href="git-add.html">git-add(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Add file contents to the index. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-am.html">git-am(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Apply a series of patches from a mailbox. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-archive.html">git-archive(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Create an archive of files from a named tree. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-bisect.html">git-bisect(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use binary search to find the commit that introduced a bug. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-branch.html">git-branch(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| List, create, or delete branches. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-bundle.html">git-bundle(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Move objects and refs by archive. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-checkout.html">git-checkout(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Switch branches or restore working tree files. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-cherry-pick.html">git-cherry-pick(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Apply the changes introduced by some existing commits. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-citool.html">git-citool(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Graphical alternative to git-commit. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-clean.html">git-clean(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Remove untracked files from the working tree. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-clone.html">git-clone(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Clone a repository into a new directory. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-commit.html">git-commit(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Record changes to the repository. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-describe.html">git-describe(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Give an object a human readable name based on an available ref. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-diff.html">git-diff(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Show changes between commits, commit and working tree, etc. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-fetch.html">git-fetch(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Download objects and refs from another repository. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-format-patch.html">git-format-patch(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Prepare patches for e-mail submission. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-gc.html">git-gc(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Cleanup unnecessary files and optimize the local repository. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-grep.html">git-grep(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Print lines matching a pattern. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-gui.html">git-gui(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| A portable graphical interface to Git. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-init.html">git-init(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Create an empty Git repository or reinitialize an existing one. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-log.html">git-log(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Show commit logs. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-merge.html">git-merge(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Join two or more development histories together. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-mv.html">git-mv(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Move or rename a file, a directory, or a symlink. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-notes.html">git-notes(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Add or inspect object notes. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-pull.html">git-pull(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Fetch from and integrate with another repository or a local branch. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-push.html">git-push(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Update remote refs along with associated objects. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-range-diff.html">git-range-diff(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Compare two commit ranges (e.g. two versions of a branch). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-rebase.html">git-rebase(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Reapply commits on top of another base tip. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-reset.html">git-reset(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Reset current HEAD to the specified state. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-revert.html">git-revert(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Revert some existing commits. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-rm.html">git-rm(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Remove files from the working tree and from the index. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-shortlog.html">git-shortlog(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Summarize <em>git log</em> output. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-show.html">git-show(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Show various types of objects. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-stash.html">git-stash(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Stash the changes in a dirty working directory away. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-status.html">git-status(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Show the working tree status. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-submodule.html">git-submodule(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Initialize, update or inspect submodules. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-tag.html">git-tag(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Create, list, delete or verify a tag object signed with GPG. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-worktree.html">git-worktree(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Manage multiple working trees. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="gitk.html">gitk(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| The Git repository browser. | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </div> | |
| <div class="sect2"> | |
| <h3 id="_ancillary_commands">Ancillary Commands</h3> | |
| <div class="paragraph"><p>Manipulators:</p></div> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <a href="git-config.html">git-config(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Get and set repository or global options. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-fast-export.html">git-fast-export(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Git data exporter. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-fast-import.html">git-fast-import(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Backend for fast Git data importers. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-filter-branch.html">git-filter-branch(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Rewrite branches. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-mergetool.html">git-mergetool(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Run merge conflict resolution tools to resolve merge conflicts. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-pack-refs.html">git-pack-refs(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Pack heads and tags for efficient repository access. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-prune.html">git-prune(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Prune all unreachable objects from the object database. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-reflog.html">git-reflog(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Manage reflog information. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-remote.html">git-remote(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Manage set of tracked repositories. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-repack.html">git-repack(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Pack unpacked objects in a repository. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-replace.html">git-replace(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Create, list, delete refs to replace objects. | |
| </p> | |
| </dd> | |
| </dl></div> | |
| <div class="paragraph"><p>Interrogators:</p></div> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <a href="git-annotate.html">git-annotate(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Annotate file lines with commit information. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-blame.html">git-blame(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Show what revision and author last modified each line of a file. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-count-objects.html">git-count-objects(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Count unpacked number of objects and their disk consumption. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-difftool.html">git-difftool(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Show changes using common diff tools. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-fsck.html">git-fsck(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Verifies the connectivity and validity of the objects in the database. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-help.html">git-help(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Display help information about Git. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-instaweb.html">git-instaweb(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Instantly browse your working repository in gitweb. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-merge-tree.html">git-merge-tree(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Show three-way merge without touching index. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-rerere.html">git-rerere(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Reuse recorded resolution of conflicted merges. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-show-branch.html">git-show-branch(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Show branches and their commits. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-verify-commit.html">git-verify-commit(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Check the GPG signature of commits. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-verify-tag.html">git-verify-tag(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Check the GPG signature of tags. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-whatchanged.html">git-whatchanged(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Show logs with difference each commit introduces. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="gitweb.html">gitweb(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Git web interface (web frontend to Git repositories). | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </div> | |
| <div class="sect2"> | |
| <h3 id="_interacting_with_others">Interacting with Others</h3> | |
| <div class="paragraph"><p>These commands are to interact with foreign SCM and with other | |
| people via patch over e-mail.</p></div> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <a href="git-archimport.html">git-archimport(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Import a GNU Arch repository into Git. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-cvsexportcommit.html">git-cvsexportcommit(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Export a single commit to a CVS checkout. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-cvsimport.html">git-cvsimport(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Salvage your data out of another SCM people love to hate. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-cvsserver.html">git-cvsserver(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| A CVS server emulator for Git. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-imap-send.html">git-imap-send(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Send a collection of patches from stdin to an IMAP folder. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-p4.html">git-p4(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Import from and submit to Perforce repositories. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-quiltimport.html">git-quiltimport(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Applies a quilt patchset onto the current branch. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-request-pull.html">git-request-pull(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Generates a summary of pending changes. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-send-email.html">git-send-email(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Send a collection of patches as emails. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-svn.html">git-svn(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Bidirectional operation between a Subversion repository and Git. | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="_low_level_commands_plumbing">Low-level commands (plumbing)</h2> | |
| <div class="sectionbody"> | |
| <div class="paragraph"><p>Although Git includes its | |
| own porcelain layer, its low-level commands are sufficient to support | |
| development of alternative porcelains. Developers of such porcelains | |
| might start by reading about <a href="git-update-index.html">git-update-index(1)</a> and | |
| <a href="git-read-tree.html">git-read-tree(1)</a>.</p></div> | |
| <div class="paragraph"><p>The interface (input, output, set of options and the semantics) | |
| to these low-level commands are meant to be a lot more stable | |
| than Porcelain level commands, because these commands are | |
| primarily for scripted use. The interface to Porcelain commands | |
| on the other hand are subject to change in order to improve the | |
| end user experience.</p></div> | |
| <div class="paragraph"><p>The following description divides | |
| the low-level commands into commands that manipulate objects (in | |
| the repository, index, and working tree), commands that interrogate and | |
| compare objects, and commands that move objects and references between | |
| repositories.</p></div> | |
| <div class="sect2"> | |
| <h3 id="_manipulation_commands">Manipulation commands</h3> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <a href="git-apply.html">git-apply(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Apply a patch to files and/or to the index. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-checkout-index.html">git-checkout-index(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Copy files from the index to the working tree. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-commit-graph.html">git-commit-graph(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Write and verify Git commit-graph files. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-commit-tree.html">git-commit-tree(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Create a new commit object. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-hash-object.html">git-hash-object(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Compute object ID and optionally creates a blob from a file. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-index-pack.html">git-index-pack(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Build pack index file for an existing packed archive. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-merge-file.html">git-merge-file(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Run a three-way file merge. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-merge-index.html">git-merge-index(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Run a merge for files needing merging. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-mktag.html">git-mktag(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Creates a tag object. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-mktree.html">git-mktree(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Build a tree-object from ls-tree formatted text. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-multi-pack-index.html">git-multi-pack-index(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Write and verify multi-pack-indexes. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-pack-objects.html">git-pack-objects(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Create a packed archive of objects. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-prune-packed.html">git-prune-packed(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Remove extra objects that are already in pack files. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-read-tree.html">git-read-tree(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Reads tree information into the index. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-symbolic-ref.html">git-symbolic-ref(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Read, modify and delete symbolic refs. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-unpack-objects.html">git-unpack-objects(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Unpack objects from a packed archive. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-update-index.html">git-update-index(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Register file contents in the working tree to the index. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-update-ref.html">git-update-ref(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Update the object name stored in a ref safely. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-write-tree.html">git-write-tree(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Create a tree object from the current index. | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </div> | |
| <div class="sect2"> | |
| <h3 id="_interrogation_commands">Interrogation commands</h3> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <a href="git-cat-file.html">git-cat-file(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Provide content or type and size information for repository objects. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-cherry.html">git-cherry(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Find commits yet to be applied to upstream. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-diff-files.html">git-diff-files(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Compares files in the working tree and the index. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-diff-index.html">git-diff-index(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Compare a tree to the working tree or index. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-diff-tree.html">git-diff-tree(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Compares the content and mode of blobs found via two tree objects. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-for-each-ref.html">git-for-each-ref(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Output information on each ref. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-get-tar-commit-id.html">git-get-tar-commit-id(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Extract commit ID from an archive created using git-archive. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-ls-files.html">git-ls-files(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Show information about files in the index and the working tree. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-ls-remote.html">git-ls-remote(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| List references in a remote repository. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-ls-tree.html">git-ls-tree(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| List the contents of a tree object. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-merge-base.html">git-merge-base(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Find as good common ancestors as possible for a merge. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-name-rev.html">git-name-rev(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Find symbolic names for given revs. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-pack-redundant.html">git-pack-redundant(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Find redundant pack files. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-rev-list.html">git-rev-list(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Lists commit objects in reverse chronological order. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-rev-parse.html">git-rev-parse(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Pick out and massage parameters. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-show-index.html">git-show-index(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Show packed archive index. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-show-ref.html">git-show-ref(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| List references in a local repository. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-unpack-file.html">git-unpack-file(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Creates a temporary file with a blob’s contents. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-var.html">git-var(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Show a Git logical variable. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-verify-pack.html">git-verify-pack(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Validate packed Git archive files. | |
| </p> | |
| </dd> | |
| </dl></div> | |
| <div class="paragraph"><p>In general, the interrogate commands do not touch the files in | |
| the working tree.</p></div> | |
| </div> | |
| <div class="sect2"> | |
| <h3 id="_synching_repositories">Synching repositories</h3> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <a href="git-daemon.html">git-daemon(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| A really simple server for Git repositories. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-fetch-pack.html">git-fetch-pack(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Receive missing objects from another repository. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-http-backend.html">git-http-backend(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Server side implementation of Git over HTTP. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-send-pack.html">git-send-pack(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Push objects over Git protocol to another repository. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-update-server-info.html">git-update-server-info(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Update auxiliary info file to help dumb servers. | |
| </p> | |
| </dd> | |
| </dl></div> | |
| <div class="paragraph"><p>The following are helper commands used by the above; end users | |
| typically do not use them directly.</p></div> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <a href="git-http-fetch.html">git-http-fetch(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Download from a remote Git repository via HTTP. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-http-push.html">git-http-push(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Push objects over HTTP/DAV to another repository. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-parse-remote.html">git-parse-remote(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Routines to help parsing remote repository access parameters. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-receive-pack.html">git-receive-pack(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Receive what is pushed into the repository. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-shell.html">git-shell(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Restricted login shell for Git-only SSH access. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-upload-archive.html">git-upload-archive(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Send archive back to git-archive. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-upload-pack.html">git-upload-pack(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Send objects packed back to git-fetch-pack. | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </div> | |
| <div class="sect2"> | |
| <h3 id="_internal_helper_commands">Internal helper commands</h3> | |
| <div class="paragraph"><p>These are internal helper commands used by other commands; end | |
| users typically do not use them directly.</p></div> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <a href="git-check-attr.html">git-check-attr(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Display gitattributes information. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-check-ignore.html">git-check-ignore(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Debug gitignore / exclude files. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-check-mailmap.html">git-check-mailmap(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Show canonical names and email addresses of contacts. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-check-ref-format.html">git-check-ref-format(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Ensures that a reference name is well formed. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-column.html">git-column(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Display data in columns. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-credential.html">git-credential(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Retrieve and store user credentials. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-credential-cache.html">git-credential-cache(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Helper to temporarily store passwords in memory. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-credential-store.html">git-credential-store(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Helper to store credentials on disk. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-fmt-merge-msg.html">git-fmt-merge-msg(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Produce a merge commit message. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-interpret-trailers.html">git-interpret-trailers(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| add or parse structured information in commit messages. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-mailinfo.html">git-mailinfo(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Extracts patch and authorship from a single e-mail message. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-mailsplit.html">git-mailsplit(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Simple UNIX mbox splitter program. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-merge-one-file.html">git-merge-one-file(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| The standard helper program to use with git-merge-index. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-patch-id.html">git-patch-id(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Compute unique ID for a patch. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-sh-i18n.html">git-sh-i18n(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Git’s i18n setup code for shell scripts. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-sh-setup.html">git-sh-setup(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Common Git shell script setup code. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <a href="git-stripspace.html">git-stripspace(1)</a> | |
| </dt> | |
| <dd> | |
| <p> | |
| Remove unnecessary whitespace. | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="_configuration_mechanism">Configuration Mechanism</h2> | |
| <div class="sectionbody"> | |
| <div class="paragraph"><p>Git uses a simple text format to store customizations that are per | |
| repository and are per user. Such a configuration file may look | |
| like this:</p></div> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><code># | |
| # A '#' or ';' character indicates a comment. | |
| # | |
| ; core variables | |
| [core] | |
| ; Don't trust file modes | |
| filemode = false | |
| ; user identity | |
| [user] | |
| name = "Junio C Hamano" | |
| email = "gitster@pobox.com"</code></pre> | |
| </div></div> | |
| <div class="paragraph"><p>Various commands read from the configuration file and adjust | |
| their operation accordingly. See <a href="git-config.html">git-config(1)</a> for a | |
| list and more details about the configuration mechanism.</p></div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="_identifier_terminology">Identifier Terminology</h2> | |
| <div class="sectionbody"> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <object> | |
| </dt> | |
| <dd> | |
| <p> | |
| Indicates the object name for any type of object. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <blob> | |
| </dt> | |
| <dd> | |
| <p> | |
| Indicates a blob object name. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <tree> | |
| </dt> | |
| <dd> | |
| <p> | |
| Indicates a tree object name. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <commit> | |
| </dt> | |
| <dd> | |
| <p> | |
| Indicates a commit object name. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <tree-ish> | |
| </dt> | |
| <dd> | |
| <p> | |
| Indicates a tree, commit or tag object name. A | |
| command that takes a <tree-ish> argument ultimately wants to | |
| operate on a <tree> object but automatically dereferences | |
| <commit> and <tag> objects that point at a <tree>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <commit-ish> | |
| </dt> | |
| <dd> | |
| <p> | |
| Indicates a commit or tag object name. A | |
| command that takes a <commit-ish> argument ultimately wants to | |
| operate on a <commit> object but automatically dereferences | |
| <tag> objects that point at a <commit>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <type> | |
| </dt> | |
| <dd> | |
| <p> | |
| Indicates that an object type is required. | |
| Currently one of: <code>blob</code>, <code>tree</code>, <code>commit</code>, or <code>tag</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <file> | |
| </dt> | |
| <dd> | |
| <p> | |
| Indicates a filename - almost always relative to the | |
| root of the tree structure <code>GIT_INDEX_FILE</code> describes. | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="_symbolic_identifiers">Symbolic Identifiers</h2> | |
| <div class="sectionbody"> | |
| <div class="paragraph"><p>Any Git command accepting any <object> can also use the following | |
| symbolic notation:</p></div> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| HEAD | |
| </dt> | |
| <dd> | |
| <p> | |
| indicates the head of the current branch. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <tag> | |
| </dt> | |
| <dd> | |
| <p> | |
| a valid tag <em>name</em> | |
| (i.e. a <code>refs/tags/<tag></code> reference). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <head> | |
| </dt> | |
| <dd> | |
| <p> | |
| a valid head <em>name</em> | |
| (i.e. a <code>refs/heads/<head></code> reference). | |
| </p> | |
| </dd> | |
| </dl></div> | |
| <div class="paragraph"><p>For a more complete list of ways to spell object names, see | |
| "SPECIFYING REVISIONS" section in <a href="gitrevisions.html">gitrevisions(7)</a>.</p></div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="_file_directory_structure">File/Directory Structure</h2> | |
| <div class="sectionbody"> | |
| <div class="paragraph"><p>Please see the <a href="gitrepository-layout.html">gitrepository-layout(5)</a> document.</p></div> | |
| <div class="paragraph"><p>Read <a href="githooks.html">githooks(5)</a> for more details about each hook.</p></div> | |
| <div class="paragraph"><p>Higher level SCMs may provide and manage additional information in the | |
| <code>$GIT_DIR</code>.</p></div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="_terminology">Terminology</h2> | |
| <div class="sectionbody"> | |
| <div class="paragraph"><p>Please see <a href="gitglossary.html">gitglossary(7)</a>.</p></div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="_environment_variables">Environment Variables</h2> | |
| <div class="sectionbody"> | |
| <div class="paragraph"><p>Various Git commands use the following environment variables:</p></div> | |
| <div class="sect2"> | |
| <h3 id="_the_git_repository">The Git Repository</h3> | |
| <div class="paragraph"><p>These environment variables apply to <em>all</em> core Git commands. Nb: it | |
| is worth noting that they may be used/overridden by SCMS sitting above | |
| Git so take care if using a foreign front-end.</p></div> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <code>GIT_INDEX_FILE</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| This environment allows the specification of an alternate | |
| index file. If not specified, the default of <code>$GIT_DIR/index</code> | |
| is used. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_INDEX_VERSION</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| This environment variable allows the specification of an index | |
| version for new repositories. It won’t affect existing index | |
| files. By default index file version 2 or 3 is used. See | |
| <a href="git-update-index.html">git-update-index(1)</a> for more information. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_OBJECT_DIRECTORY</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| If the object storage directory is specified via this | |
| environment variable then the sha1 directories are created | |
| underneath - otherwise the default <code>$GIT_DIR/objects</code> | |
| directory is used. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_ALTERNATE_OBJECT_DIRECTORIES</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Due to the immutable nature of Git objects, old objects can be | |
| archived into shared, read-only directories. This variable | |
| specifies a ":" separated (on Windows ";" separated) list | |
| of Git object directories which can be used to search for Git | |
| objects. New objects will not be written to these directories. | |
| </p> | |
| <div class="paragraph"><p>Entries that begin with <code>"</code> (double-quote) will be interpreted | |
| as C-style quoted paths, removing leading and trailing | |
| double-quotes and respecting backslash escapes. E.g., the value | |
| <code>"path-with-\"-and-:-in-it":vanilla-path</code> has two paths: | |
| <code>path-with-"-and-:-in-it</code> and <code>vanilla-path</code>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_DIR</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| If the <code>GIT_DIR</code> environment variable is set then it | |
| specifies a path to use instead of the default <code>.git</code> | |
| for the base of the repository. | |
| The <code>--git-dir</code> command-line option also sets this value. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_WORK_TREE</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Set the path to the root of the working tree. | |
| This can also be controlled by the <code>--work-tree</code> command-line | |
| option and the core.worktree configuration variable. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_NAMESPACE</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Set the Git namespace; see <a href="gitnamespaces.html">gitnamespaces(7)</a> for details. | |
| The <code>--namespace</code> command-line option also sets this value. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_CEILING_DIRECTORIES</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| This should be a colon-separated list of absolute paths. If | |
| set, it is a list of directories that Git should not chdir up | |
| into while looking for a repository directory (useful for | |
| excluding slow-loading network directories). It will not | |
| exclude the current working directory or a GIT_DIR set on the | |
| command line or in the environment. Normally, Git has to read | |
| the entries in this list and resolve any symlink that | |
| might be present in order to compare them with the current | |
| directory. However, if even this access is slow, you | |
| can add an empty entry to the list to tell Git that the | |
| subsequent entries are not symlinks and needn’t be resolved; | |
| e.g., | |
| <code>GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_DISCOVERY_ACROSS_FILESYSTEM</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| When run in a directory that does not have ".git" repository | |
| directory, Git tries to find such a directory in the parent | |
| directories to find the top of the working tree, but by default it | |
| does not cross filesystem boundaries. This environment variable | |
| can be set to true to tell Git not to stop at filesystem | |
| boundaries. Like <code>GIT_CEILING_DIRECTORIES</code>, this will not affect | |
| an explicit repository directory set via <code>GIT_DIR</code> or on the | |
| command line. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_COMMON_DIR</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| If this variable is set to a path, non-worktree files that are | |
| normally in $GIT_DIR will be taken from this path | |
| instead. Worktree-specific files such as HEAD or index are | |
| taken from $GIT_DIR. See <a href="gitrepository-layout.html">gitrepository-layout(5)</a> and | |
| <a href="git-worktree.html">git-worktree(1)</a> for | |
| details. This variable has lower precedence than other path | |
| variables such as GIT_INDEX_FILE, GIT_OBJECT_DIRECTORY… | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </div> | |
| <div class="sect2"> | |
| <h3 id="_git_commits">Git Commits</h3> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <code>GIT_AUTHOR_NAME</code> | |
| </dt> | |
| <dt class="hdlist1"> | |
| <code>GIT_AUTHOR_EMAIL</code> | |
| </dt> | |
| <dt class="hdlist1"> | |
| <code>GIT_AUTHOR_DATE</code> | |
| </dt> | |
| <dt class="hdlist1"> | |
| <code>GIT_COMMITTER_NAME</code> | |
| </dt> | |
| <dt class="hdlist1"> | |
| <code>GIT_COMMITTER_EMAIL</code> | |
| </dt> | |
| <dt class="hdlist1"> | |
| <code>GIT_COMMITTER_DATE</code> | |
| </dt> | |
| <dt class="hdlist1"> | |
| <em>EMAIL</em> | |
| </dt> | |
| <dd> | |
| <p> | |
| see <a href="git-commit-tree.html">git-commit-tree(1)</a> | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </div> | |
| <div class="sect2"> | |
| <h3 id="_git_diffs">Git Diffs</h3> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <code>GIT_DIFF_OPTS</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Only valid setting is "--unified=??" or "-u??" to set the | |
| number of context lines shown when a unified diff is created. | |
| This takes precedence over any "-U" or "--unified" option | |
| value passed on the Git diff command line. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_EXTERNAL_DIFF</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| When the environment variable <code>GIT_EXTERNAL_DIFF</code> is set, the | |
| program named by it is called, instead of the diff invocation | |
| described above. For a path that is added, removed, or modified, | |
| <code>GIT_EXTERNAL_DIFF</code> is called with 7 parameters: | |
| </p> | |
| <div class="literalblock"> | |
| <div class="content"> | |
| <pre><code>path old-file old-hex old-mode new-file new-hex new-mode</code></pre> | |
| </div></div> | |
| <div class="paragraph"><p>where:</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <old|new>-file | |
| </dt> | |
| <dd> | |
| <p> | |
| are files GIT_EXTERNAL_DIFF can use to read the | |
| contents of <old|new>, | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <old|new>-hex | |
| </dt> | |
| <dd> | |
| <p> | |
| are the 40-hexdigit SHA-1 hashes, | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <old|new>-mode | |
| </dt> | |
| <dd> | |
| <p> | |
| are the octal representation of the file modes. | |
| </p> | |
| <div class="paragraph"><p>The file parameters can point at the user’s working file | |
| (e.g. <code>new-file</code> in "git-diff-files"), <code>/dev/null</code> (e.g. <code>old-file</code> | |
| when a new file is added), or a temporary file (e.g. <code>old-file</code> in the | |
| index). <code>GIT_EXTERNAL_DIFF</code> should not worry about unlinking the | |
| temporary file --- it is removed when <code>GIT_EXTERNAL_DIFF</code> exits.</p></div> | |
| <div class="paragraph"><p>For a path that is unmerged, <code>GIT_EXTERNAL_DIFF</code> is called with 1 | |
| parameter, <path>.</p></div> | |
| <div class="paragraph"><p>For each path <code>GIT_EXTERNAL_DIFF</code> is called, two environment variables, | |
| <code>GIT_DIFF_PATH_COUNTER</code> and <code>GIT_DIFF_PATH_TOTAL</code> are set.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_DIFF_PATH_COUNTER</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| A 1-based counter incremented by one for every path. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_DIFF_PATH_TOTAL</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| The total number of paths. | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </div> | |
| <div class="sect2"> | |
| <h3 id="_other">other</h3> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <code>GIT_MERGE_VERBOSITY</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| A number controlling the amount of output shown by | |
| the recursive merge strategy. Overrides merge.verbosity. | |
| See <a href="git-merge.html">git-merge(1)</a> | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_PAGER</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| This environment variable overrides <code>$PAGER</code>. If it is set | |
| to an empty string or to the value "cat", Git will not launch | |
| a pager. See also the <code>core.pager</code> option in | |
| <a href="git-config.html">git-config(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_EDITOR</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| This environment variable overrides <code>$EDITOR</code> and <code>$VISUAL</code>. | |
| It is used by several Git commands when, on interactive mode, | |
| an editor is to be launched. See also <a href="git-var.html">git-var(1)</a> | |
| and the <code>core.editor</code> option in <a href="git-config.html">git-config(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_SSH</code> | |
| </dt> | |
| <dt class="hdlist1"> | |
| <code>GIT_SSH_COMMAND</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| If either of these environment variables is set then <em>git fetch</em> | |
| and <em>git push</em> will use the specified command instead of <em>ssh</em> | |
| when they need to connect to a remote system. | |
| The command-line parameters passed to the configured command are | |
| determined by the ssh variant. See <code>ssh.variant</code> option in | |
| <a href="git-config.html">git-config(1)</a> for details. | |
| </p> | |
| </dd> | |
| </dl></div> | |
| <div class="paragraph"><p>+ | |
| <code>$GIT_SSH_COMMAND</code> takes precedence over <code>$GIT_SSH</code>, and is interpreted | |
| by the shell, which allows additional arguments to be included. | |
| <code>$GIT_SSH</code> on the other hand must be just the path to a program | |
| (which can be a wrapper shell script, if additional arguments are | |
| needed).</p></div> | |
| <div class="paragraph"><p>+ | |
| Usually it is easier to configure any desired options through your | |
| personal <code>.ssh/config</code> file. Please consult your ssh documentation | |
| for further details.</p></div> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <code>GIT_SSH_VARIANT</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| If this environment variable is set, it overrides Git’s autodetection | |
| whether <code>GIT_SSH</code>/<code>GIT_SSH_COMMAND</code>/<code>core.sshCommand</code> refer to OpenSSH, | |
| plink or tortoiseplink. This variable overrides the config setting | |
| <code>ssh.variant</code> that serves the same purpose. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_ASKPASS</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| If this environment variable is set, then Git commands which need to | |
| acquire passwords or passphrases (e.g. for HTTP or IMAP authentication) | |
| will call this program with a suitable prompt as command-line argument | |
| and read the password from its STDOUT. See also the <code>core.askPass</code> | |
| option in <a href="git-config.html">git-config(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_TERMINAL_PROMPT</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| If this environment variable is set to <code>0</code>, git will not prompt | |
| on the terminal (e.g., when asking for HTTP authentication). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_CONFIG_NOSYSTEM</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Whether to skip reading settings from the system-wide | |
| <code>$(prefix)/etc/gitconfig</code> file. This environment variable can | |
| be used along with <code>$HOME</code> and <code>$XDG_CONFIG_HOME</code> to create a | |
| predictable environment for a picky script, or you can set it | |
| temporarily to avoid using a buggy <code>/etc/gitconfig</code> file while | |
| waiting for someone with sufficient permissions to fix it. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_FLUSH</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| If this environment variable is set to "1", then commands such | |
| as <em>git blame</em> (in incremental mode), <em>git rev-list</em>, <em>git log</em>, | |
| <em>git check-attr</em> and <em>git check-ignore</em> will | |
| force a flush of the output stream after each record have been | |
| flushed. If this | |
| variable is set to "0", the output of these commands will be done | |
| using completely buffered I/O. If this environment variable is | |
| not set, Git will choose buffered or record-oriented flushing | |
| based on whether stdout appears to be redirected to a file or not. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_TRACE</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Enables general trace messages, e.g. alias expansion, built-in | |
| command execution and external command execution. | |
| </p> | |
| <div class="paragraph"><p>If this variable is set to "1", "2" or "true" (comparison | |
| is case insensitive), trace messages will be printed to | |
| stderr.</p></div> | |
| <div class="paragraph"><p>If the variable is set to an integer value greater than 2 | |
| and lower than 10 (strictly) then Git will interpret this | |
| value as an open file descriptor and will try to write the | |
| trace messages into this file descriptor.</p></div> | |
| <div class="paragraph"><p>Alternatively, if the variable is set to an absolute path | |
| (starting with a <em>/</em> character), Git will interpret this | |
| as a file path and will try to append the trace messages | |
| to it.</p></div> | |
| <div class="paragraph"><p>Unsetting the variable, or setting it to empty, "0" or | |
| "false" (case insensitive) disables trace messages.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_TRACE_FSMONITOR</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Enables trace messages for the filesystem monitor extension. | |
| See <code>GIT_TRACE</code> for available trace output options. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_TRACE_PACK_ACCESS</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Enables trace messages for all accesses to any packs. For each | |
| access, the pack file name and an offset in the pack is | |
| recorded. This may be helpful for troubleshooting some | |
| pack-related performance problems. | |
| See <code>GIT_TRACE</code> for available trace output options. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_TRACE_PACKET</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Enables trace messages for all packets coming in or out of a | |
| given program. This can help with debugging object negotiation | |
| or other protocol issues. Tracing is turned off at a packet | |
| starting with "PACK" (but see <code>GIT_TRACE_PACKFILE</code> below). | |
| See <code>GIT_TRACE</code> for available trace output options. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_TRACE_PACKFILE</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Enables tracing of packfiles sent or received by a | |
| given program. Unlike other trace output, this trace is | |
| verbatim: no headers, and no quoting of binary data. You almost | |
| certainly want to direct into a file (e.g., | |
| <code>GIT_TRACE_PACKFILE=/tmp/my.pack</code>) rather than displaying it on | |
| the terminal or mixing it with other trace output. | |
| </p> | |
| <div class="paragraph"><p>Note that this is currently only implemented for the client side | |
| of clones and fetches.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_TRACE_PERFORMANCE</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Enables performance related trace messages, e.g. total execution | |
| time of each Git command. | |
| See <code>GIT_TRACE</code> for available trace output options. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_TRACE_SETUP</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Enables trace messages printing the .git, working tree and current | |
| working directory after Git has completed its setup phase. | |
| See <code>GIT_TRACE</code> for available trace output options. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_TRACE_SHALLOW</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Enables trace messages that can help debugging fetching / | |
| cloning of shallow repositories. | |
| See <code>GIT_TRACE</code> for available trace output options. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_TRACE_CURL</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Enables a curl full trace dump of all incoming and outgoing data, | |
| including descriptive information, of the git transport protocol. | |
| This is similar to doing curl <code>--trace-ascii</code> on the command line. | |
| This option overrides setting the <code>GIT_CURL_VERBOSE</code> environment | |
| variable. | |
| See <code>GIT_TRACE</code> for available trace output options. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_TRACE_CURL_NO_DATA</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| When a curl trace is enabled (see <code>GIT_TRACE_CURL</code> above), do not dump | |
| data (that is, only dump info lines and headers). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_REDACT_COOKIES</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| This can be set to a comma-separated list of strings. When a curl trace | |
| is enabled (see <code>GIT_TRACE_CURL</code> above), whenever a "Cookies:" header | |
| sent by the client is dumped, values of cookies whose key is in that | |
| list (case-sensitive) are redacted. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_LITERAL_PATHSPECS</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Setting this variable to <code>1</code> will cause Git to treat all | |
| pathspecs literally, rather than as glob patterns. For example, | |
| running <code>GIT_LITERAL_PATHSPECS=1 git log -- '*.c'</code> will search | |
| for commits that touch the path <code>*.c</code>, not any paths that the | |
| glob <code>*.c</code> matches. You might want this if you are feeding | |
| literal paths to Git (e.g., paths previously given to you by | |
| <code>git ls-tree</code>, <code>--raw</code> diff output, etc). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_GLOB_PATHSPECS</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Setting this variable to <code>1</code> will cause Git to treat all | |
| pathspecs as glob patterns (aka "glob" magic). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_NOGLOB_PATHSPECS</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Setting this variable to <code>1</code> will cause Git to treat all | |
| pathspecs as literal (aka "literal" magic). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_ICASE_PATHSPECS</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Setting this variable to <code>1</code> will cause Git to treat all | |
| pathspecs as case-insensitive. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_REFLOG_ACTION</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| When a ref is updated, reflog entries are created to keep | |
| track of the reason why the ref was updated (which is | |
| typically the name of the high-level command that updated | |
| the ref), in addition to the old and new values of the ref. | |
| A scripted Porcelain command can use set_reflog_action | |
| helper function in <code>git-sh-setup</code> to set its name to this | |
| variable when it is invoked as the top level command by the | |
| end user, to be recorded in the body of the reflog. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_REF_PARANOIA</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to <code>1</code>, include broken or badly named refs when iterating | |
| over lists of refs. In a normal, non-corrupted repository, this | |
| does nothing. However, enabling it may help git to detect and | |
| abort some operations in the presence of broken refs. Git sets | |
| this variable automatically when performing destructive | |
| operations like <a href="git-prune.html">git-prune(1)</a>. You should not need to set | |
| it yourself unless you want to be paranoid about making sure | |
| an operation has touched every ref (e.g., because you are | |
| cloning a repository to make a backup). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_ALLOW_PROTOCOL</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to a colon-separated list of protocols, behave as if | |
| <code>protocol.allow</code> is set to <code>never</code>, and each of the listed | |
| protocols has <code>protocol.<name>.allow</code> set to <code>always</code> | |
| (overriding any existing configuration). In other words, any | |
| protocol not mentioned will be disallowed (i.e., this is a | |
| whitelist, not a blacklist). See the description of | |
| <code>protocol.allow</code> in <a href="git-config.html">git-config(1)</a> for more details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_PROTOCOL_FROM_USER</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Set to 0 to prevent protocols used by fetch/push/clone which are | |
| configured to the <code>user</code> state. This is useful to restrict recursive | |
| submodule initialization from an untrusted repository or for programs | |
| which feed potentially-untrusted URLS to git commands. See | |
| <a href="git-config.html">git-config(1)</a> for more details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_PROTOCOL</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| For internal use only. Used in handshaking the wire protocol. | |
| Contains a colon <em>:</em> separated list of keys with optional values | |
| <em>key[=value]</em>. Presence of unknown keys and values must be | |
| ignored. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_OPTIONAL_LOCKS</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to <code>0</code>, Git will complete any requested operation without | |
| performing any optional sub-operations that require taking a lock. | |
| For example, this will prevent <code>git status</code> from refreshing the | |
| index as a side effect. This is useful for processes running in | |
| the background which do not want to cause lock contention with | |
| other operations on the repository. Defaults to <code>1</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_REDIRECT_STDIN</code> | |
| </dt> | |
| <dt class="hdlist1"> | |
| <code>GIT_REDIRECT_STDOUT</code> | |
| </dt> | |
| <dt class="hdlist1"> | |
| <code>GIT_REDIRECT_STDERR</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Windows-only: allow redirecting the standard input/output/error | |
| handles to paths specified by the environment variables. This is | |
| particularly useful in multi-threaded applications where the | |
| canonical way to pass standard handles via <code>CreateProcess()</code> is | |
| not an option because it would require the handles to be marked | |
| inheritable (and consequently <strong>every</strong> spawned process would | |
| inherit them, possibly blocking regular Git operations). The | |
| primary intended use case is to use named pipes for communication | |
| (e.g. <code>\\.\pipe\my-git-stdin-123</code>). | |
| </p> | |
| <div class="paragraph"><p>Two special values are supported: <code>off</code> will simply close the | |
| corresponding standard handle, and if <code>GIT_REDIRECT_STDERR</code> is | |
| <code>2>&1</code>, standard error will be redirected to the same handle as | |
| standard output.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>GIT_PRINT_SHA1_ELLIPSIS</code> (deprecated) | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to <code>yes</code>, print an ellipsis following an | |
| (abbreviated) SHA-1 value. This affects indications of | |
| detached HEADs (<a href="git-checkout.html">git-checkout(1)</a>) and the raw | |
| diff output (<a href="git-diff.html">git-diff(1)</a>). Printing an | |
| ellipsis in the cases mentioned is no longer considered | |
| adequate and support for it is likely to be removed in the | |
| foreseeable future (along with the variable). | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="_discussion_a_id_discussion_a">Discussion<a id="Discussion"></a></h2> | |
| <div class="sectionbody"> | |
| <div class="paragraph"><p>More detail on the following is available from the | |
| <a href="user-manual.html#git-concepts">Git concepts chapter of the | |
| user-manual</a> and <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a>.</p></div> | |
| <div class="paragraph"><p>A Git project normally consists of a working directory with a ".git" | |
| subdirectory at the top level. The .git directory contains, among other | |
| things, a compressed object database representing the complete history | |
| of the project, an "index" file which links that history to the current | |
| contents of the working tree, and named pointers into that history such | |
| as tags and branch heads.</p></div> | |
| <div class="paragraph"><p>The object database contains objects of three main types: blobs, which | |
| hold file data; trees, which point to blobs and other trees to build up | |
| directory hierarchies; and commits, which each reference a single tree | |
| and some number of parent commits.</p></div> | |
| <div class="paragraph"><p>The commit, equivalent to what other systems call a "changeset" or | |
| "version", represents a step in the project’s history, and each parent | |
| represents an immediately preceding step. Commits with more than one | |
| parent represent merges of independent lines of development.</p></div> | |
| <div class="paragraph"><p>All objects are named by the SHA-1 hash of their contents, normally | |
| written as a string of 40 hex digits. Such names are globally unique. | |
| The entire history leading up to a commit can be vouched for by signing | |
| just that commit. A fourth object type, the tag, is provided for this | |
| purpose.</p></div> | |
| <div class="paragraph"><p>When first created, objects are stored in individual files, but for | |
| efficiency may later be compressed together into "pack files".</p></div> | |
| <div class="paragraph"><p>Named pointers called refs mark interesting points in history. A ref | |
| may contain the SHA-1 name of an object or the name of another ref. Refs | |
| with names beginning <code>ref/head/</code> contain the SHA-1 name of the most | |
| recent commit (or "head") of a branch under development. SHA-1 names of | |
| tags of interest are stored under <code>ref/tags/</code>. A special ref named | |
| <code>HEAD</code> contains the name of the currently checked-out branch.</p></div> | |
| <div class="paragraph"><p>The index file is initialized with a list of all paths and, for each | |
| path, a blob object and a set of attributes. The blob object represents | |
| the contents of the file as of the head of the current branch. The | |
| attributes (last modified time, size, etc.) are taken from the | |
| corresponding file in the working tree. Subsequent changes to the | |
| working tree can be found by comparing these attributes. The index may | |
| be updated with new content, and new commits may be created from the | |
| content stored in the index.</p></div> | |
| <div class="paragraph"><p>The index is also capable of storing multiple entries (called "stages") | |
| for a given pathname. These stages are used to hold the various | |
| unmerged version of a file when a merge is in progress.</p></div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="_further_documentation">FURTHER DOCUMENTATION</h2> | |
| <div class="sectionbody"> | |
| <div class="paragraph"><p>See the references in the "description" section to get started | |
| using Git. The following is probably more detail than necessary | |
| for a first-time user.</p></div> | |
| <div class="paragraph"><p>The <a href="user-manual.html#git-concepts">Git concepts chapter of the | |
| user-manual</a> and <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a> both provide | |
| introductions to the underlying Git architecture.</p></div> | |
| <div class="paragraph"><p>See <a href="gitworkflows.html">gitworkflows(7)</a> for an overview of recommended workflows.</p></div> | |
| <div class="paragraph"><p>See also the <a href="howto-index.html">howto</a> documents for some useful | |
| examples.</p></div> | |
| <div class="paragraph"><p>The internals are documented in the | |
| <a href="technical/api-index.html">Git API documentation</a>.</p></div> | |
| <div class="paragraph"><p>Users migrating from CVS may also want to | |
| read <a href="gitcvs-migration.html">gitcvs-migration(7)</a>.</p></div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="_authors">Authors</h2> | |
| <div class="sectionbody"> | |
| <div class="paragraph"><p>Git was started by Linus Torvalds, and is currently maintained by Junio | |
| C Hamano. Numerous contributions have come from the Git mailing list | |
| <<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> | |
| gives you a more complete list of contributors.</p></div> | |
| <div class="paragraph"><p>If you have a clone of git.git itself, the | |
| output of <a href="git-shortlog.html">git-shortlog(1)</a> and <a href="git-blame.html">git-blame(1)</a> can show you | |
| the authors for specific parts of the project.</p></div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="_reporting_bugs">Reporting Bugs</h2> | |
| <div class="sectionbody"> | |
| <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 | |
| development and maintenance is primarily done. You do not have to be | |
| subscribed to the list to send a message there. See the list archive | |
| at <a href="https://public-inbox.org/git">https://public-inbox.org/git</a> for previous bug reports and other | |
| discussions.</p></div> | |
| <div class="paragraph"><p>Issues which are security relevant should be disclosed privately to | |
| the Git Security mailing list <<a href="mailto:git-security@googlegroups.com">git-security@googlegroups.com</a>>.</p></div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="_see_also">SEE ALSO</h2> | |
| <div class="sectionbody"> | |
| <div class="paragraph"><p><a href="gittutorial.html">gittutorial(7)</a>, <a href="gittutorial-2.html">gittutorial-2(7)</a>, | |
| <a href="giteveryday.html">giteveryday(7)</a>, <a href="gitcvs-migration.html">gitcvs-migration(7)</a>, | |
| <a href="gitglossary.html">gitglossary(7)</a>, <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a>, | |
| <a href="gitcli.html">gitcli(7)</a>, <a href="user-manual.html">The Git User’s Manual</a>, | |
| <a href="gitworkflows.html">gitworkflows(7)</a></p></div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="_git">GIT</h2> | |
| <div class="sectionbody"> | |
| <div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div id="footnotes"><hr /></div> | |
| <div id="footer"> | |
| <div id="footer-text"> | |
| Last updated | |
| 2018-10-30 16:33:48 JST | |
| </div> | |
| </div> | |
| </body> | |
| </html> |