Autogenerated HTML docs for v2.45.0-31-gd4cc1
[git-htmldocs.git] / git-clone.html
blob8a53789d547251fc91034760773b9eda2b34b02d
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
3 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
5 <head>
6 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
7 <meta name="generator" content="AsciiDoc 10.2.0" />
8 <title>git-clone(1)</title>
9 <style type="text/css">
10 /* Shared CSS for AsciiDoc xhtml11 and html5 backends */
12 /* Default font. */
13 body {
14 font-family: Georgia,serif;
17 /* Title font. */
18 h1, h2, h3, h4, h5, h6,
19 div.title, caption.title,
20 thead, p.table.header,
21 #toctitle,
22 #author, #revnumber, #revdate, #revremark,
23 #footer {
24 font-family: Arial,Helvetica,sans-serif;
27 body {
28 margin: 1em 5% 1em 5%;
31 a {
32 color: blue;
33 text-decoration: underline;
35 a:visited {
36 color: fuchsia;
39 em {
40 font-style: italic;
41 color: navy;
44 strong {
45 font-weight: bold;
46 color: #083194;
49 h1, h2, h3, h4, h5, h6 {
50 color: #527bbd;
51 margin-top: 1.2em;
52 margin-bottom: 0.5em;
53 line-height: 1.3;
56 h1, h2, h3 {
57 border-bottom: 2px solid silver;
59 h2 {
60 padding-top: 0.5em;
62 h3 {
63 float: left;
65 h3 + * {
66 clear: left;
68 h5 {
69 font-size: 1.0em;
72 div.sectionbody {
73 margin-left: 0;
76 hr {
77 border: 1px solid silver;
80 p {
81 margin-top: 0.5em;
82 margin-bottom: 0.5em;
85 ul, ol, li > p {
86 margin-top: 0;
88 ul > li { color: #aaa; }
89 ul > li > * { color: black; }
91 .monospaced, code, pre {
92 font-family: "Courier New", Courier, monospace;
93 font-size: inherit;
94 color: navy;
95 padding: 0;
96 margin: 0;
98 pre {
99 white-space: pre-wrap;
102 #author {
103 color: #527bbd;
104 font-weight: bold;
105 font-size: 1.1em;
107 #email {
109 #revnumber, #revdate, #revremark {
112 #footer {
113 font-size: small;
114 border-top: 2px solid silver;
115 padding-top: 0.5em;
116 margin-top: 4.0em;
118 #footer-text {
119 float: left;
120 padding-bottom: 0.5em;
122 #footer-badges {
123 float: right;
124 padding-bottom: 0.5em;
127 #preamble {
128 margin-top: 1.5em;
129 margin-bottom: 1.5em;
131 div.imageblock, div.exampleblock, div.verseblock,
132 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
133 div.admonitionblock {
134 margin-top: 1.0em;
135 margin-bottom: 1.5em;
137 div.admonitionblock {
138 margin-top: 2.0em;
139 margin-bottom: 2.0em;
140 margin-right: 10%;
141 color: #606060;
144 div.content { /* Block element content. */
145 padding: 0;
148 /* Block element titles. */
149 div.title, caption.title {
150 color: #527bbd;
151 font-weight: bold;
152 text-align: left;
153 margin-top: 1.0em;
154 margin-bottom: 0.5em;
156 div.title + * {
157 margin-top: 0;
160 td div.title:first-child {
161 margin-top: 0.0em;
163 div.content div.title:first-child {
164 margin-top: 0.0em;
166 div.content + div.title {
167 margin-top: 0.0em;
170 div.sidebarblock > div.content {
171 background: #ffffee;
172 border: 1px solid #dddddd;
173 border-left: 4px solid #f0f0f0;
174 padding: 0.5em;
177 div.listingblock > div.content {
178 border: 1px solid #dddddd;
179 border-left: 5px solid #f0f0f0;
180 background: #f8f8f8;
181 padding: 0.5em;
184 div.quoteblock, div.verseblock {
185 padding-left: 1.0em;
186 margin-left: 1.0em;
187 margin-right: 10%;
188 border-left: 5px solid #f0f0f0;
189 color: #888;
192 div.quoteblock > div.attribution {
193 padding-top: 0.5em;
194 text-align: right;
197 div.verseblock > pre.content {
198 font-family: inherit;
199 font-size: inherit;
201 div.verseblock > div.attribution {
202 padding-top: 0.75em;
203 text-align: left;
205 /* DEPRECATED: Pre version 8.2.7 verse style literal block. */
206 div.verseblock + div.attribution {
207 text-align: left;
210 div.admonitionblock .icon {
211 vertical-align: top;
212 font-size: 1.1em;
213 font-weight: bold;
214 text-decoration: underline;
215 color: #527bbd;
216 padding-right: 0.5em;
218 div.admonitionblock td.content {
219 padding-left: 0.5em;
220 border-left: 3px solid #dddddd;
223 div.exampleblock > div.content {
224 border-left: 3px solid #dddddd;
225 padding-left: 0.5em;
228 div.imageblock div.content { padding-left: 0; }
229 span.image img { border-style: none; vertical-align: text-bottom; }
230 a.image:visited { color: white; }
232 dl {
233 margin-top: 0.8em;
234 margin-bottom: 0.8em;
236 dt {
237 margin-top: 0.5em;
238 margin-bottom: 0;
239 font-style: normal;
240 color: navy;
242 dd > *:first-child {
243 margin-top: 0.1em;
246 ul, ol {
247 list-style-position: outside;
249 ol.arabic {
250 list-style-type: decimal;
252 ol.loweralpha {
253 list-style-type: lower-alpha;
255 ol.upperalpha {
256 list-style-type: upper-alpha;
258 ol.lowerroman {
259 list-style-type: lower-roman;
261 ol.upperroman {
262 list-style-type: upper-roman;
265 div.compact ul, div.compact ol,
266 div.compact p, div.compact p,
267 div.compact div, div.compact div {
268 margin-top: 0.1em;
269 margin-bottom: 0.1em;
272 tfoot {
273 font-weight: bold;
275 td > div.verse {
276 white-space: pre;
279 div.hdlist {
280 margin-top: 0.8em;
281 margin-bottom: 0.8em;
283 div.hdlist tr {
284 padding-bottom: 15px;
286 dt.hdlist1.strong, td.hdlist1.strong {
287 font-weight: bold;
289 td.hdlist1 {
290 vertical-align: top;
291 font-style: normal;
292 padding-right: 0.8em;
293 color: navy;
295 td.hdlist2 {
296 vertical-align: top;
298 div.hdlist.compact tr {
299 margin: 0;
300 padding-bottom: 0;
303 .comment {
304 background: yellow;
307 .footnote, .footnoteref {
308 font-size: 0.8em;
311 span.footnote, span.footnoteref {
312 vertical-align: super;
315 #footnotes {
316 margin: 20px 0 20px 0;
317 padding: 7px 0 0 0;
320 #footnotes div.footnote {
321 margin: 0 0 5px 0;
324 #footnotes hr {
325 border: none;
326 border-top: 1px solid silver;
327 height: 1px;
328 text-align: left;
329 margin-left: 0;
330 width: 20%;
331 min-width: 100px;
334 div.colist td {
335 padding-right: 0.5em;
336 padding-bottom: 0.3em;
337 vertical-align: top;
339 div.colist td img {
340 margin-top: 0.3em;
343 @media print {
344 #footer-badges { display: none; }
347 #toc {
348 margin-bottom: 2.5em;
351 #toctitle {
352 color: #527bbd;
353 font-size: 1.1em;
354 font-weight: bold;
355 margin-top: 1.0em;
356 margin-bottom: 0.1em;
359 div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
360 margin-top: 0;
361 margin-bottom: 0;
363 div.toclevel2 {
364 margin-left: 2em;
365 font-size: 0.9em;
367 div.toclevel3 {
368 margin-left: 4em;
369 font-size: 0.9em;
371 div.toclevel4 {
372 margin-left: 6em;
373 font-size: 0.9em;
376 span.aqua { color: aqua; }
377 span.black { color: black; }
378 span.blue { color: blue; }
379 span.fuchsia { color: fuchsia; }
380 span.gray { color: gray; }
381 span.green { color: green; }
382 span.lime { color: lime; }
383 span.maroon { color: maroon; }
384 span.navy { color: navy; }
385 span.olive { color: olive; }
386 span.purple { color: purple; }
387 span.red { color: red; }
388 span.silver { color: silver; }
389 span.teal { color: teal; }
390 span.white { color: white; }
391 span.yellow { color: yellow; }
393 span.aqua-background { background: aqua; }
394 span.black-background { background: black; }
395 span.blue-background { background: blue; }
396 span.fuchsia-background { background: fuchsia; }
397 span.gray-background { background: gray; }
398 span.green-background { background: green; }
399 span.lime-background { background: lime; }
400 span.maroon-background { background: maroon; }
401 span.navy-background { background: navy; }
402 span.olive-background { background: olive; }
403 span.purple-background { background: purple; }
404 span.red-background { background: red; }
405 span.silver-background { background: silver; }
406 span.teal-background { background: teal; }
407 span.white-background { background: white; }
408 span.yellow-background { background: yellow; }
410 span.big { font-size: 2em; }
411 span.small { font-size: 0.6em; }
413 span.underline { text-decoration: underline; }
414 span.overline { text-decoration: overline; }
415 span.line-through { text-decoration: line-through; }
417 div.unbreakable { page-break-inside: avoid; }
421 * xhtml11 specific
423 * */
425 div.tableblock {
426 margin-top: 1.0em;
427 margin-bottom: 1.5em;
429 div.tableblock > table {
430 border: 3px solid #527bbd;
432 thead, p.table.header {
433 font-weight: bold;
434 color: #527bbd;
436 p.table {
437 margin-top: 0;
439 /* Because the table frame attribute is overridden by CSS in most browsers. */
440 div.tableblock > table[frame="void"] {
441 border-style: none;
443 div.tableblock > table[frame="hsides"] {
444 border-left-style: none;
445 border-right-style: none;
447 div.tableblock > table[frame="vsides"] {
448 border-top-style: none;
449 border-bottom-style: none;
454 * html5 specific
456 * */
458 table.tableblock {
459 margin-top: 1.0em;
460 margin-bottom: 1.5em;
462 thead, p.tableblock.header {
463 font-weight: bold;
464 color: #527bbd;
466 p.tableblock {
467 margin-top: 0;
469 table.tableblock {
470 border-width: 3px;
471 border-spacing: 0px;
472 border-style: solid;
473 border-color: #527bbd;
474 border-collapse: collapse;
476 th.tableblock, td.tableblock {
477 border-width: 1px;
478 padding: 4px;
479 border-style: solid;
480 border-color: #527bbd;
483 table.tableblock.frame-topbot {
484 border-left-style: hidden;
485 border-right-style: hidden;
487 table.tableblock.frame-sides {
488 border-top-style: hidden;
489 border-bottom-style: hidden;
491 table.tableblock.frame-none {
492 border-style: hidden;
495 th.tableblock.halign-left, td.tableblock.halign-left {
496 text-align: left;
498 th.tableblock.halign-center, td.tableblock.halign-center {
499 text-align: center;
501 th.tableblock.halign-right, td.tableblock.halign-right {
502 text-align: right;
505 th.tableblock.valign-top, td.tableblock.valign-top {
506 vertical-align: top;
508 th.tableblock.valign-middle, td.tableblock.valign-middle {
509 vertical-align: middle;
511 th.tableblock.valign-bottom, td.tableblock.valign-bottom {
512 vertical-align: bottom;
517 * manpage specific
519 * */
521 body.manpage h1 {
522 padding-top: 0.5em;
523 padding-bottom: 0.5em;
524 border-top: 2px solid silver;
525 border-bottom: 2px solid silver;
527 body.manpage h2 {
528 border-style: none;
530 body.manpage div.sectionbody {
531 margin-left: 3em;
534 @media print {
535 body.manpage div#toc { display: none; }
539 </style>
540 <script type="text/javascript">
541 /*<![CDATA[*/
542 var asciidoc = { // Namespace.
544 /////////////////////////////////////////////////////////////////////
545 // Table Of Contents generator
546 /////////////////////////////////////////////////////////////////////
548 /* Author: Mihai Bazon, September 2002
549 * http://students.infoiasi.ro/~mishoo
551 * Table Of Content generator
552 * Version: 0.4
554 * Feel free to use this script under the terms of the GNU General Public
555 * License, as long as you do not remove or alter this notice.
558 /* modified by Troy D. Hanson, September 2006. License: GPL */
559 /* modified by Stuart Rackham, 2006, 2009. License: GPL */
561 // toclevels = 1..4.
562 toc: function (toclevels) {
564 function getText(el) {
565 var text = "";
566 for (var i = el.firstChild; i != null; i = i.nextSibling) {
567 if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
568 text += i.data;
569 else if (i.firstChild != null)
570 text += getText(i);
572 return text;
575 function TocEntry(el, text, toclevel) {
576 this.element = el;
577 this.text = text;
578 this.toclevel = toclevel;
581 function tocEntries(el, toclevels) {
582 var result = new Array;
583 var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
584 // Function that scans the DOM tree for header elements (the DOM2
585 // nodeIterator API would be a better technique but not supported by all
586 // browsers).
587 var iterate = function (el) {
588 for (var i = el.firstChild; i != null; i = i.nextSibling) {
589 if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
590 var mo = re.exec(i.tagName);
591 if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
592 result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
594 iterate(i);
598 iterate(el);
599 return result;
602 var toc = document.getElementById("toc");
603 if (!toc) {
604 return;
607 // Delete existing TOC entries in case we're reloading the TOC.
608 var tocEntriesToRemove = [];
609 var i;
610 for (i = 0; i < toc.childNodes.length; i++) {
611 var entry = toc.childNodes[i];
612 if (entry.nodeName.toLowerCase() == 'div'
613 && entry.getAttribute("class")
614 && entry.getAttribute("class").match(/^toclevel/))
615 tocEntriesToRemove.push(entry);
617 for (i = 0; i < tocEntriesToRemove.length; i++) {
618 toc.removeChild(tocEntriesToRemove[i]);
621 // Rebuild TOC entries.
622 var entries = tocEntries(document.getElementById("content"), toclevels);
623 for (var i = 0; i < entries.length; ++i) {
624 var entry = entries[i];
625 if (entry.element.id == "")
626 entry.element.id = "_toc_" + i;
627 var a = document.createElement("a");
628 a.href = "#" + entry.element.id;
629 a.appendChild(document.createTextNode(entry.text));
630 var div = document.createElement("div");
631 div.appendChild(a);
632 div.className = "toclevel" + entry.toclevel;
633 toc.appendChild(div);
635 if (entries.length == 0)
636 toc.parentNode.removeChild(toc);
640 /////////////////////////////////////////////////////////////////////
641 // Footnotes generator
642 /////////////////////////////////////////////////////////////////////
644 /* Based on footnote generation code from:
645 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
648 footnotes: function () {
649 // Delete existing footnote entries in case we're reloading the footnodes.
650 var i;
651 var noteholder = document.getElementById("footnotes");
652 if (!noteholder) {
653 return;
655 var entriesToRemove = [];
656 for (i = 0; i < noteholder.childNodes.length; i++) {
657 var entry = noteholder.childNodes[i];
658 if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
659 entriesToRemove.push(entry);
661 for (i = 0; i < entriesToRemove.length; i++) {
662 noteholder.removeChild(entriesToRemove[i]);
665 // Rebuild footnote entries.
666 var cont = document.getElementById("content");
667 var spans = cont.getElementsByTagName("span");
668 var refs = {};
669 var n = 0;
670 for (i=0; i<spans.length; i++) {
671 if (spans[i].className == "footnote") {
672 n++;
673 var note = spans[i].getAttribute("data-note");
674 if (!note) {
675 // Use [\s\S] in place of . so multi-line matches work.
676 // Because JavaScript has no s (dotall) regex flag.
677 note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
678 spans[i].innerHTML =
679 "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
680 "' title='View footnote' class='footnote'>" + n + "</a>]";
681 spans[i].setAttribute("data-note", note);
683 noteholder.innerHTML +=
684 "<div class='footnote' id='_footnote_" + n + "'>" +
685 "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
686 n + "</a>. " + note + "</div>";
687 var id =spans[i].getAttribute("id");
688 if (id != null) refs["#"+id] = n;
691 if (n == 0)
692 noteholder.parentNode.removeChild(noteholder);
693 else {
694 // Process footnoterefs.
695 for (i=0; i<spans.length; i++) {
696 if (spans[i].className == "footnoteref") {
697 var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
698 href = href.match(/#.*/)[0]; // Because IE return full URL.
699 n = refs[href];
700 spans[i].innerHTML =
701 "[<a href='#_footnote_" + n +
702 "' title='View footnote' class='footnote'>" + n + "</a>]";
708 install: function(toclevels) {
709 var timerId;
711 function reinstall() {
712 asciidoc.footnotes();
713 if (toclevels) {
714 asciidoc.toc(toclevels);
718 function reinstallAndRemoveTimer() {
719 clearInterval(timerId);
720 reinstall();
723 timerId = setInterval(reinstall, 500);
724 if (document.addEventListener)
725 document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
726 else
727 window.onload = reinstallAndRemoveTimer;
731 asciidoc.install();
732 /*]]>*/
733 </script>
734 </head>
735 <body class="manpage">
736 <div id="header">
737 <h1>
738 git-clone(1) Manual Page
739 </h1>
740 <h2>NAME</h2>
741 <div class="sectionbody">
742 <p>git-clone -
743 Clone a repository into a new directory
744 </p>
745 </div>
746 </div>
747 <div id="content">
748 <div class="sect1">
749 <h2 id="_synopsis">SYNOPSIS</h2>
750 <div class="sectionbody">
751 <div class="verseblock">
752 <pre class="content"><code>git clone</code> [<code>--template=</code><em>&lt;template-directory&gt;</em>]
753 [<code>-l</code>] [<code>-s</code>] [<code>--no-hardlinks</code>] [<code>-q</code>] [<code>-n</code>] [<code>--bare</code>] [<code>--mirror</code>]
754 [<code>-o</code> <em>&lt;name&gt;</em>] [<code>-b</code> <em>&lt;name&gt;</em>] [<code>-u</code> <em>&lt;upload-pack&gt;</em>] [<code>--reference</code> <em>&lt;repository&gt;</em>]
755 [<code>--dissociate</code>] [<code>--separate-git-dir</code> <em>&lt;git-dir&gt;</em>]
756 [<code>--depth</code> <em>&lt;depth&gt;</em>] [<code>--</code>[<code>no-</code>]<code>single-branch</code>] [<code>--no-tags</code>]
757 [<code>--recurse-submodules</code>[<code>=</code><em>&lt;pathspec&gt;</em>]] [<code>--</code>[<code>no-</code>]<code>shallow-submodules</code>]
758 [<code>--</code>[<code>no-</code>]<code>remote-submodules</code>] [<code>--jobs</code> <em>&lt;n&gt;</em>] [<code>--sparse</code>] [<code>--</code>[<code>no-</code>]<code>reject-shallow</code>]
759 [<code>--filter=</code><em>&lt;filter-spec&gt;</em>] [<code>--also-filter-submodules</code>]] [<code>--</code>] <em>&lt;repository&gt;</em>
760 [<em>&lt;directory&gt;</em>]</pre>
761 <div class="attribution">
762 </div></div>
763 </div>
764 </div>
765 <div class="sect1">
766 <h2 id="_description">DESCRIPTION</h2>
767 <div class="sectionbody">
768 <div class="paragraph"><p>Clones a repository into a newly created directory, creates
769 remote-tracking branches for each branch in the cloned repository
770 (visible using <code>git branch --remotes</code>), and creates and checks out an
771 initial branch that is forked from the cloned repository&#8217;s
772 currently active branch.</p></div>
773 <div class="paragraph"><p>After the clone, a plain <code>git fetch</code> without arguments will update
774 all the remote-tracking branches, and a <code>git pull</code> without
775 arguments will in addition merge the remote master branch into the
776 current master branch, if any (this is untrue when <code>--single-branch</code>
777 is given; see below).</p></div>
778 <div class="paragraph"><p>This default configuration is achieved by creating references to
779 the remote branch heads under <code>refs/remotes/origin</code> and
780 by initializing <code>remote.origin.url</code> and <code>remote.origin.fetch</code>
781 configuration variables.</p></div>
782 </div>
783 </div>
784 <div class="sect1">
785 <h2 id="_options">OPTIONS</h2>
786 <div class="sectionbody">
787 <div class="dlist"><dl>
788 <dt class="hdlist1">
789 <code>-l</code>
790 </dt>
791 <dt class="hdlist1">
792 <code>--local</code>
793 </dt>
794 <dd>
796 When the repository to clone from is on a local machine,
797 this flag bypasses the normal "Git aware" transport
798 mechanism and clones the repository by making a copy of
799 <code>HEAD</code> and everything under objects and refs directories.
800 The files under <code>.git/objects/</code> directory are hardlinked
801 to save space when possible.
802 </p>
803 <div class="paragraph"><p>If the repository is specified as a local path (e.g., <code>/path/to/repo</code>),
804 this is the default, and --local is essentially a no-op. If the
805 repository is specified as a URL, then this flag is ignored (and we
806 never use the local optimizations). Specifying <code>--no-local</code> will
807 override the default when <code>/path/to/repo</code> is given, using the regular
808 Git transport instead.</p></div>
809 <div class="paragraph"><p>If the repository&#8217;s <code>$GIT_DIR/objects</code> has symbolic links or is a
810 symbolic link, the clone will fail. This is a security measure to
811 prevent the unintentional copying of files by dereferencing the symbolic
812 links.</p></div>
813 <div class="paragraph"><p><strong>NOTE</strong>: this operation can race with concurrent modification to the
814 source repository, similar to running <code>cp -r src dst</code> while modifying
815 <code>src</code>.</p></div>
816 </dd>
817 <dt class="hdlist1">
818 <code>--no-hardlinks</code>
819 </dt>
820 <dd>
822 Force the cloning process from a repository on a local
823 filesystem to copy the files under the <code>.git/objects</code>
824 directory instead of using hardlinks. This may be desirable
825 if you are trying to make a back-up of your repository.
826 </p>
827 </dd>
828 <dt class="hdlist1">
829 <code>-s</code>
830 </dt>
831 <dt class="hdlist1">
832 <code>--shared</code>
833 </dt>
834 <dd>
836 When the repository to clone is on the local machine,
837 instead of using hard links, automatically setup
838 <code>.git/objects/info/alternates</code> to share the objects
839 with the source repository. The resulting repository
840 starts out without any object of its own.
841 </p>
842 <div class="paragraph"><p><strong>NOTE</strong>: this is a possibly dangerous operation; do <strong>not</strong> use
843 it unless you understand what it does. If you clone your
844 repository using this option and then delete branches (or use any
845 other Git command that makes any existing commit unreferenced) in the
846 source repository, some objects may become unreferenced (or dangling).
847 These objects may be removed by normal Git operations (such as <code>git commit</code>)
848 which automatically call <code>git maintenance run --auto</code>. (See
849 <a href="git-maintenance.html">git-maintenance(1)</a>.) If these objects are removed and were referenced
850 by the cloned repository, then the cloned repository will become corrupt.</p></div>
851 <div class="paragraph"><p>Note that running <code>git repack</code> without the <code>--local</code> option in a repository
852 cloned with <code>--shared</code> will copy objects from the source repository into a pack
853 in the cloned repository, removing the disk space savings of <code>clone --shared</code>.
854 It is safe, however, to run <code>git gc</code>, which uses the <code>--local</code> option by
855 default.</p></div>
856 <div class="paragraph"><p>If you want to break the dependency of a repository cloned with <code>--shared</code> on
857 its source repository, you can simply run <code>git repack -a</code> to copy all
858 objects from the source repository into a pack in the cloned repository.</p></div>
859 </dd>
860 <dt class="hdlist1">
861 <code>--reference</code>[<code>-if-able</code>] <em>&lt;repository&gt;</em>
862 </dt>
863 <dd>
865 If the reference <em>&lt;repository&gt;</em> is on the local machine,
866 automatically setup <code>.git/objects/info/alternates</code> to
867 obtain objects from the reference <em>&lt;repository&gt;</em>. Using
868 an already existing repository as an alternate will
869 require fewer objects to be copied from the repository
870 being cloned, reducing network and local storage costs.
871 When using the <code>--reference-if-able</code>, a non existing
872 directory is skipped with a warning instead of aborting
873 the clone.
874 </p>
875 <div class="paragraph"><p><strong>NOTE</strong>: see the NOTE for the <code>--shared</code> option, and also the
876 <code>--dissociate</code> option.</p></div>
877 </dd>
878 <dt class="hdlist1">
879 <code>--dissociate</code>
880 </dt>
881 <dd>
883 Borrow the objects from reference repositories specified
884 with the <code>--reference</code> options only to reduce network
885 transfer, and stop borrowing from them after a clone is made
886 by making necessary local copies of borrowed objects. This
887 option can also be used when cloning locally from a
888 repository that already borrows objects from another
889 repository&#8212;the new repository will borrow objects from the
890 same repository, and this option can be used to stop the
891 borrowing.
892 </p>
893 </dd>
894 <dt class="hdlist1">
895 <code>-q</code>
896 </dt>
897 <dt class="hdlist1">
898 <code>--quiet</code>
899 </dt>
900 <dd>
902 Operate quietly. Progress is not reported to the standard
903 error stream.
904 </p>
905 </dd>
906 <dt class="hdlist1">
907 <code>-v</code>
908 </dt>
909 <dt class="hdlist1">
910 <code>--verbose</code>
911 </dt>
912 <dd>
914 Run verbosely. Does not affect the reporting of progress status
915 to the standard error stream.
916 </p>
917 </dd>
918 <dt class="hdlist1">
919 <code>--progress</code>
920 </dt>
921 <dd>
923 Progress status is reported on the standard error stream
924 by default when it is attached to a terminal, unless <code>--quiet</code>
925 is specified. This flag forces progress status even if the
926 standard error stream is not directed to a terminal.
927 </p>
928 </dd>
929 <dt class="hdlist1">
930 <code>--server-option=</code><em>&lt;option&gt;</em>
931 </dt>
932 <dd>
934 Transmit the given string to the server when communicating using
935 protocol version 2. The given string must not contain a NUL or LF
936 character. The server&#8217;s handling of server options, including
937 unknown ones, is server-specific.
938 When multiple <code>--server-option=</code><em>&lt;option&gt;</em> are given, they are all
939 sent to the other side in the order listed on the command line.
940 </p>
941 </dd>
942 <dt class="hdlist1">
943 <code>-n</code>
944 </dt>
945 <dt class="hdlist1">
946 <code>--no-checkout</code>
947 </dt>
948 <dd>
950 No checkout of HEAD is performed after the clone is complete.
951 </p>
952 </dd>
953 <dt class="hdlist1">
954 <code>--</code>[<code>no-</code>]<code>reject-shallow</code>
955 </dt>
956 <dd>
958 Fail if the source repository is a shallow repository.
959 The <code>clone.rejectShallow</code> configuration variable can be used to
960 specify the default.
961 </p>
962 </dd>
963 <dt class="hdlist1">
964 <code>--bare</code>
965 </dt>
966 <dd>
968 Make a <em>bare</em> Git repository. That is, instead of
969 creating <em>&lt;directory&gt;</em> and placing the administrative
970 files in <em>&lt;directory&gt;</em><code>/.git</code>, make the <em>&lt;directory&gt;</em>
971 itself the <code>$GIT_DIR</code>. This obviously implies the <code>--no-checkout</code>
972 because there is nowhere to check out the working tree.
973 Also the branch heads at the remote are copied directly
974 to corresponding local branch heads, without mapping
975 them to <code>refs/remotes/origin/</code>. When this option is
976 used, neither remote-tracking branches nor the related
977 configuration variables are created.
978 </p>
979 </dd>
980 <dt class="hdlist1">
981 <code>--sparse</code>
982 </dt>
983 <dd>
985 Employ a sparse-checkout, with only files in the toplevel
986 directory initially being present. The
987 <a href="git-sparse-checkout.html">git-sparse-checkout(1)</a> command can be used to grow the
988 working directory as needed.
989 </p>
990 </dd>
991 <dt class="hdlist1">
992 <code>--filter=</code><em>&lt;filter-spec&gt;</em>
993 </dt>
994 <dd>
996 Use the partial clone feature and request that the server sends
997 a subset of reachable objects according to a given object filter.
998 When using <code>--filter</code>, the supplied <em>&lt;filter-spec&gt;</em> is used for
999 the partial clone filter. For example, <code>--filter=blob:none</code> will
1000 filter out all blobs (file contents) until needed by Git. Also,
1001 <code>--filter=blob:limit=</code><em>&lt;size&gt;</em> will filter out all blobs of size
1002 at least <em>&lt;size&gt;</em>. For more details on filter specifications, see
1003 the <code>--filter</code> option in <a href="git-rev-list.html">git-rev-list(1)</a>.
1004 </p>
1005 </dd>
1006 <dt class="hdlist1">
1007 <code>--also-filter-submodules</code>
1008 </dt>
1009 <dd>
1011 Also apply the partial clone filter to any submodules in the repository.
1012 Requires <code>--filter</code> and <code>--recurse-submodules</code>. This can be turned on by
1013 default by setting the <code>clone.filterSubmodules</code> config option.
1014 </p>
1015 </dd>
1016 <dt class="hdlist1">
1017 <code>--mirror</code>
1018 </dt>
1019 <dd>
1021 Set up a mirror of the source repository. This implies <code>--bare</code>.
1022 Compared to <code>--bare</code>, <code>--mirror</code> not only maps local branches of the
1023 source to local branches of the target, it maps all refs (including
1024 remote-tracking branches, notes etc.) and sets up a refspec configuration such
1025 that all these refs are overwritten by a <code>git remote update</code> in the
1026 target repository.
1027 </p>
1028 </dd>
1029 <dt class="hdlist1">
1030 <code>-o</code> <em>&lt;name&gt;</em>
1031 </dt>
1032 <dt class="hdlist1">
1033 <code>--origin</code> <em>&lt;name&gt;</em>
1034 </dt>
1035 <dd>
1037 Instead of using the remote name <code>origin</code> to keep track of the upstream
1038 repository, use <em>&lt;name&gt;</em>. Overrides <code>clone.defaultRemoteName</code> from the
1039 config.
1040 </p>
1041 </dd>
1042 <dt class="hdlist1">
1043 <code>-b</code> <em>&lt;name&gt;</em>
1044 </dt>
1045 <dt class="hdlist1">
1046 <code>--branch</code> <em>&lt;name&gt;</em>
1047 </dt>
1048 <dd>
1050 Instead of pointing the newly created HEAD to the branch pointed
1051 to by the cloned repository&#8217;s HEAD, point to <em>&lt;name&gt;</em> branch
1052 instead. In a non-bare repository, this is the branch that will
1053 be checked out.
1054 <code>--branch</code> can also take tags and detaches the HEAD at that commit
1055 in the resulting repository.
1056 </p>
1057 </dd>
1058 <dt class="hdlist1">
1059 <code>-u</code> <em>&lt;upload-pack&gt;</em>
1060 </dt>
1061 <dt class="hdlist1">
1062 <code>--upload-pack</code> <em>&lt;upload-pack&gt;</em>
1063 </dt>
1064 <dd>
1066 When given, and the repository to clone from is accessed
1067 via ssh, this specifies a non-default path for the command
1068 run on the other end.
1069 </p>
1070 </dd>
1071 <dt class="hdlist1">
1072 <code>--template=</code><em>&lt;template-directory&gt;</em>
1073 </dt>
1074 <dd>
1076 Specify the directory from which templates will be used;
1077 (See the "TEMPLATE DIRECTORY" section of <a href="git-init.html">git-init(1)</a>.)
1078 </p>
1079 </dd>
1080 <dt class="hdlist1">
1081 <code>-c</code> <em>&lt;key&gt;</em><code>=</code><em>&lt;value&gt;</em>
1082 </dt>
1083 <dt class="hdlist1">
1084 <code>--config</code> <em>&lt;key&gt;</em><code>=</code><em>&lt;value&gt;</em>
1085 </dt>
1086 <dd>
1088 Set a configuration variable in the newly-created repository;
1089 this takes effect immediately after the repository is
1090 initialized, but before the remote history is fetched or any
1091 files checked out. The <em>&lt;key&gt;</em> is in the same format as expected by
1092 <a href="git-config.html">git-config(1)</a> (e.g., <code>core.eol=true</code>). If multiple
1093 values are given for the same key, each value will be written to
1094 the config file. This makes it safe, for example, to add
1095 additional fetch refspecs to the origin remote.
1096 </p>
1097 <div class="paragraph"><p>Due to limitations of the current implementation, some configuration
1098 variables do not take effect until after the initial fetch and checkout.
1099 Configuration variables known to not take effect are:
1100 <code>remote.</code><em>&lt;name&gt;</em><code>.mirror</code> and <code>remote.</code><em>&lt;name&gt;</em><code>.tagOpt</code>. Use the
1101 corresponding <code>--mirror</code> and <code>--no-tags</code> options instead.</p></div>
1102 </dd>
1103 <dt class="hdlist1">
1104 <code>--depth</code> <em>&lt;depth&gt;</em>
1105 </dt>
1106 <dd>
1108 Create a <em>shallow</em> clone with a history truncated to the
1109 specified number of commits. Implies <code>--single-branch</code> unless
1110 <code>--no-single-branch</code> is given to fetch the histories near the
1111 tips of all branches. If you want to clone submodules shallowly,
1112 also pass <code>--shallow-submodules</code>.
1113 </p>
1114 </dd>
1115 <dt class="hdlist1">
1116 <code>--shallow-since=</code><em>&lt;date&gt;</em>
1117 </dt>
1118 <dd>
1120 Create a shallow clone with a history after the specified time.
1121 </p>
1122 </dd>
1123 <dt class="hdlist1">
1124 <code>--shallow-exclude=</code><em>&lt;revision&gt;</em>
1125 </dt>
1126 <dd>
1128 Create a shallow clone with a history, excluding commits
1129 reachable from a specified remote branch or tag. This option
1130 can be specified multiple times.
1131 </p>
1132 </dd>
1133 <dt class="hdlist1">
1134 <code>--</code>[<code>no-</code>]<code>single-branch</code>
1135 </dt>
1136 <dd>
1138 Clone only the history leading to the tip of a single branch,
1139 either specified by the <code>--branch</code> option or the primary
1140 branch remote&#8217;s <code>HEAD</code> points at.
1141 Further fetches into the resulting repository will only update the
1142 remote-tracking branch for the branch this option was used for the
1143 initial cloning. If the <code>HEAD</code> at the remote did not point at any
1144 branch when <code>--single-branch</code> clone was made, no remote-tracking
1145 branch is created.
1146 </p>
1147 </dd>
1148 <dt class="hdlist1">
1149 <code>--no-tags</code>
1150 </dt>
1151 <dd>
1153 Don&#8217;t clone any tags, and set
1154 <code>remote.&lt;remote&gt;.tagOpt=--no-tags</code> in the config, ensuring
1155 that future <code>git pull</code> and <code>git fetch</code> operations won&#8217;t follow
1156 any tags. Subsequent explicit tag fetches will still work,
1157 (see <a href="git-fetch.html">git-fetch(1)</a>).
1158 </p>
1159 <div class="paragraph"><p>Can be used in conjunction with <code>--single-branch</code> to clone and
1160 maintain a branch with no references other than a single cloned
1161 branch. This is useful e.g. to maintain minimal clones of the default
1162 branch of some repository for search indexing.</p></div>
1163 </dd>
1164 <dt class="hdlist1">
1165 <code>--recurse-submodules</code>[<code>=</code><em>&lt;pathspec&gt;</em>]
1166 </dt>
1167 <dd>
1169 After the clone is created, initialize and clone submodules
1170 within based on the provided <em>&lt;pathspec&gt;</em>. If no <em>=&lt;pathspec&gt;</em> is
1171 provided, all submodules are initialized and cloned.
1172 This option can be given multiple times for pathspecs consisting
1173 of multiple entries. The resulting clone has <code>submodule.active</code> set to
1174 the provided pathspec, or "." (meaning all submodules) if no
1175 pathspec is provided.
1176 </p>
1177 <div class="paragraph"><p>Submodules are initialized and cloned using their default settings. This is
1178 equivalent to running
1179 <code>git submodule update --init --recursive &lt;pathspec&gt;</code> immediately after
1180 the clone is finished. This option is ignored if the cloned repository does
1181 not have a worktree/checkout (i.e. if any of <code>--no-checkout</code>/<code>-n</code>, <code>--bare</code>,
1182 or <code>--mirror</code> is given)</p></div>
1183 </dd>
1184 <dt class="hdlist1">
1185 <code>--</code>[<code>no-</code>]<code>shallow-submodules</code>
1186 </dt>
1187 <dd>
1189 All submodules which are cloned will be shallow with a depth of 1.
1190 </p>
1191 </dd>
1192 <dt class="hdlist1">
1193 <code>--</code>[<code>no-</code>]<code>remote-submodules</code>
1194 </dt>
1195 <dd>
1197 All submodules which are cloned will use the status of the submodule&#8217;s
1198 remote-tracking branch to update the submodule, rather than the
1199 superproject&#8217;s recorded SHA-1. Equivalent to passing <code>--remote</code> to
1200 <code>git submodule update</code>.
1201 </p>
1202 </dd>
1203 <dt class="hdlist1">
1204 <code>--separate-git-dir=</code><em>&lt;git-dir&gt;</em>
1205 </dt>
1206 <dd>
1208 Instead of placing the cloned repository where it is supposed
1209 to be, place the cloned repository at the specified directory,
1210 then make a filesystem-agnostic Git symbolic link to there.
1211 The result is Git repository can be separated from working
1212 tree.
1213 </p>
1214 </dd>
1215 <dt class="hdlist1">
1216 <code>--ref-format=</code><em>&lt;ref-format&gt;</em>
1217 </dt>
1218 <dd>
1220 Specify the given ref storage format for the repository. The valid values are:
1221 </p>
1222 <div class="ulist"><ul>
1223 <li>
1225 <code>files</code> for loose files with packed-refs. This is the default.
1226 </p>
1227 </li>
1228 <li>
1230 <code>reftable</code> for the reftable format. This format is experimental and its
1231 internals are subject to change.
1232 </p>
1233 </li>
1234 </ul></div>
1235 </dd>
1236 <dt class="hdlist1">
1237 <code>-j</code> <em>&lt;n&gt;</em>
1238 </dt>
1239 <dt class="hdlist1">
1240 <code>--jobs</code> <em>&lt;n&gt;</em>
1241 </dt>
1242 <dd>
1244 The number of submodules fetched at the same time.
1245 Defaults to the <code>submodule.fetchJobs</code> option.
1246 </p>
1247 </dd>
1248 <dt class="hdlist1">
1249 <em>&lt;repository&gt;</em>
1250 </dt>
1251 <dd>
1253 The (possibly remote) <em>&lt;repository&gt;</em> to clone from. See the
1254 <a href="#URLS">GIT URLS</a> section below for more information on specifying
1255 repositories.
1256 </p>
1257 </dd>
1258 <dt class="hdlist1">
1259 <em>&lt;directory&gt;</em>
1260 </dt>
1261 <dd>
1263 The name of a new directory to clone into. The "humanish"
1264 part of the source repository is used if no <em>&lt;directory&gt;</em> is
1265 explicitly given (<code>repo</code> for <code>/path/to/repo.git</code> and <code>foo</code>
1266 for <code>host.xz:foo/.git</code>). Cloning into an existing directory
1267 is only allowed if the directory is empty.
1268 </p>
1269 </dd>
1270 <dt class="hdlist1">
1271 <code>--bundle-uri=</code><em>&lt;uri&gt;</em>
1272 </dt>
1273 <dd>
1275 Before fetching from the remote, fetch a bundle from the given
1276 <em>&lt;uri&gt;</em> and unbundle the data into the local repository. The refs
1277 in the bundle will be stored under the hidden <code>refs/bundle/*</code>
1278 namespace. This option is incompatible with <code>--depth</code>,
1279 <code>--shallow-since</code>, and <code>--shallow-exclude</code>.
1280 </p>
1281 </dd>
1282 </dl></div>
1283 </div>
1284 </div>
1285 <div class="sect1">
1286 <h2 id="_git_urls_a_id_urls_a">GIT URLS<a id="URLS"></a></h2>
1287 <div class="sectionbody">
1288 <div class="paragraph"><p>In general, URLs contain information about the transport protocol, the
1289 address of the remote server, and the path to the repository.
1290 Depending on the transport protocol, some of this information may be
1291 absent.</p></div>
1292 <div class="paragraph"><p>Git supports ssh, git, http, and https protocols (in addition, ftp
1293 and ftps can be used for fetching, but this is inefficient and
1294 deprecated; do not use them).</p></div>
1295 <div class="paragraph"><p>The native transport (i.e. git:// URL) does no authentication and
1296 should be used with caution on unsecured networks.</p></div>
1297 <div class="paragraph"><p>The following syntaxes may be used with them:</p></div>
1298 <div class="ulist"><ul>
1299 <li>
1301 <code>ssh://</code>&#91;<em>&lt;user&gt;</em><code>@</code>&#93;<em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/</code><em>&lt;path-to-git-repo&gt;</em>
1302 </p>
1303 </li>
1304 <li>
1306 <code>git://</code><em>&lt;host&gt;</em>&#91;:<em>&lt;port&gt;</em>&#93;<code>/</code><em>&lt;path-to-git-repo&gt;</em>
1307 </p>
1308 </li>
1309 <li>
1311 <code>http</code>&#91;<code>s</code>&#93;<code>://</code><em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/</code><em>&lt;path-to-git-repo&gt;</em>
1312 </p>
1313 </li>
1314 <li>
1316 <code>ftp</code>&#91;<code>s</code>&#93;<code>://</code><em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/</code><em>&lt;path-to-git-repo&gt;</em>
1317 </p>
1318 </li>
1319 </ul></div>
1320 <div class="paragraph"><p>An alternative scp-like syntax may also be used with the ssh protocol:</p></div>
1321 <div class="ulist"><ul>
1322 <li>
1324 &#91;<em>&lt;user&gt;</em><code>@</code>&#93;<em>&lt;host&gt;</em><code>:/</code><em>&lt;path-to-git-repo&gt;</em>
1325 </p>
1326 </li>
1327 </ul></div>
1328 <div class="paragraph"><p>This syntax is only recognized if there are no slashes before the
1329 first colon. This helps differentiate a local path that contains a
1330 colon. For example the local path <code>foo:bar</code> could be specified as an
1331 absolute path or <code>./foo:bar</code> to avoid being misinterpreted as an ssh
1332 url.</p></div>
1333 <div class="paragraph"><p>The ssh and git protocols additionally support <code>~</code><em>&lt;username&gt;</em> expansion:</p></div>
1334 <div class="ulist"><ul>
1335 <li>
1337 <code>ssh://</code>&#91;<em>&lt;user&gt;</em><code>@</code>&#93;<em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/~</code><em>&lt;user&gt;</em><code>/</code><em>&lt;path-to-git-repo&gt;</em>
1338 </p>
1339 </li>
1340 <li>
1342 <code>git://</code><em>&lt;host&gt;</em>&#91;<code>:</code><em>&lt;port&gt;</em>&#93;<code>/~</code><em>&lt;user&gt;</em><code>/</code><em>&lt;path-to-git-repo&gt;</em>
1343 </p>
1344 </li>
1345 <li>
1347 &#91;<em>&lt;user&gt;</em><code>@</code>&#93;<em>&lt;host&gt;</em><code>:~</code><em>&lt;user&gt;</em><code>/</code><em>&lt;path-to-git-repo&gt;</em>
1348 </p>
1349 </li>
1350 </ul></div>
1351 <div class="paragraph"><p>For local repositories, also supported by Git natively, the following
1352 syntaxes may be used:</p></div>
1353 <div class="ulist"><ul>
1354 <li>
1356 <code>/path/to/repo.git/</code>
1357 </p>
1358 </li>
1359 <li>
1361 <code>file:///path/to/repo.git/</code>
1362 </p>
1363 </li>
1364 </ul></div>
1365 <div class="paragraph"><p>These two syntaxes are mostly equivalent, except the former implies
1366 <code>--local</code> option.</p></div>
1367 <div class="paragraph"><p><code>git clone</code>, <code>git fetch</code> and <code>git pull</code>, but not <code>git push</code>, will also
1368 accept a suitable bundle file. See <a href="git-bundle.html">git-bundle(1)</a>.</p></div>
1369 <div class="paragraph"><p>When Git doesn&#8217;t know how to handle a certain transport protocol, it
1370 attempts to use the <code>remote-</code><em>&lt;transport&gt;</em> remote helper, if one
1371 exists. To explicitly request a remote helper, the following syntax
1372 may be used:</p></div>
1373 <div class="ulist"><ul>
1374 <li>
1376 <em>&lt;transport&gt;</em>::<em>&lt;address&gt;</em>
1377 </p>
1378 </li>
1379 </ul></div>
1380 <div class="paragraph"><p>where <em>&lt;address&gt;</em> may be a path, a server and path, or an arbitrary
1381 URL-like string recognized by the specific remote helper being
1382 invoked. See <a href="gitremote-helpers.html">gitremote-helpers(7)</a> for details.</p></div>
1383 <div class="paragraph"><p>If there are a large number of similarly-named remote repositories and
1384 you want to use a different format for them (such that the URLs you
1385 use will be rewritten into URLs that work), you can create a
1386 configuration section of the form:</p></div>
1387 <div class="verseblock">
1388 <pre class="content"> [url "<em>&lt;actual-url-base&gt;</em>"]
1389 insteadOf = <em>&lt;other-url-base&gt;</em></pre>
1390 <div class="attribution">
1391 </div></div>
1392 <div class="paragraph"><p>For example, with this:</p></div>
1393 <div class="listingblock">
1394 <div class="content">
1395 <pre><code> [url "git://git.host.xz/"]
1396 insteadOf = host.xz:/path/to/
1397 insteadOf = work:</code></pre>
1398 </div></div>
1399 <div class="paragraph"><p>a URL like "work:repo.git" or like "host.xz:/path/to/repo.git" will be
1400 rewritten in any context that takes a URL to be "git://git.host.xz/repo.git".</p></div>
1401 <div class="paragraph"><p>If you want to rewrite URLs for push only, you can create a
1402 configuration section of the form:</p></div>
1403 <div class="verseblock">
1404 <pre class="content"> [url "<em>&lt;actual-url-base&gt;</em>"]
1405 pushInsteadOf = <em>&lt;other-url-base&gt;</em></pre>
1406 <div class="attribution">
1407 </div></div>
1408 <div class="paragraph"><p>For example, with this:</p></div>
1409 <div class="listingblock">
1410 <div class="content">
1411 <pre><code> [url "ssh://example.org/"]
1412 pushInsteadOf = git://example.org/</code></pre>
1413 </div></div>
1414 <div class="paragraph"><p>a URL like "git://example.org/path/to/repo.git" will be rewritten to
1415 "ssh://example.org/path/to/repo.git" for pushes, but pulls will still
1416 use the original URL.</p></div>
1417 </div>
1418 </div>
1419 <div class="sect1">
1420 <h2 id="_examples">EXAMPLES</h2>
1421 <div class="sectionbody">
1422 <div class="ulist"><ul>
1423 <li>
1425 Clone from upstream:
1426 </p>
1427 <div class="listingblock">
1428 <div class="content">
1429 <pre><code>$ git clone git://git.kernel.org/pub/scm/.../linux.git my-linux
1430 $ cd my-linux
1431 $ make</code></pre>
1432 </div></div>
1433 </li>
1434 <li>
1436 Make a local clone that borrows from the current directory, without checking things out:
1437 </p>
1438 <div class="listingblock">
1439 <div class="content">
1440 <pre><code>$ git clone -l -s -n . ../copy
1441 $ cd ../copy
1442 $ git show-branch</code></pre>
1443 </div></div>
1444 </li>
1445 <li>
1447 Clone from upstream while borrowing from an existing local directory:
1448 </p>
1449 <div class="listingblock">
1450 <div class="content">
1451 <pre><code>$ git clone --reference /git/linux.git \
1452 git://git.kernel.org/pub/scm/.../linux.git \
1453 my-linux
1454 $ cd my-linux</code></pre>
1455 </div></div>
1456 </li>
1457 <li>
1459 Create a bare repository to publish your changes to the public:
1460 </p>
1461 <div class="listingblock">
1462 <div class="content">
1463 <pre><code>$ git clone --bare -l /home/proj/.git /pub/scm/proj.git</code></pre>
1464 </div></div>
1465 </li>
1466 </ul></div>
1467 </div>
1468 </div>
1469 <div class="sect1">
1470 <h2 id="_configuration">CONFIGURATION</h2>
1471 <div class="sectionbody">
1472 <div class="paragraph"><p>Everything below this line in this section is selectively included
1473 from the <a href="git-config.html">git-config(1)</a> documentation. The content is the same
1474 as what&#8217;s found there:</p></div>
1475 <div class="dlist"><dl>
1476 <dt class="hdlist1">
1477 <code>init.templateDir</code>
1478 </dt>
1479 <dd>
1481 Specify the directory from which templates will be copied. (See the "TEMPLATE DIRECTORY" section of <a href="git-init.html">git-init(1)</a>.)
1482 </p>
1483 </dd>
1484 <dt class="hdlist1">
1485 <code>init.defaultBranch</code>
1486 </dt>
1487 <dd>
1489 Allows overriding the default branch name e.g. when initializing
1490 a new repository.
1491 </p>
1492 </dd>
1493 <dt class="hdlist1">
1494 <code>clone.defaultRemoteName</code>
1495 </dt>
1496 <dd>
1498 The name of the remote to create when cloning a repository. Defaults to
1499 <code>origin</code>.
1500 It can be overridden by passing the <code>--origin</code> command-line
1501 option.
1502 </p>
1503 </dd>
1504 <dt class="hdlist1">
1505 <code>clone.rejectShallow</code>
1506 </dt>
1507 <dd>
1509 Reject cloning a repository if it is a shallow one; this can be overridden by
1510 passing the <code>--reject-shallow</code> option on the command line.
1511 </p>
1512 </dd>
1513 <dt class="hdlist1">
1514 <code>clone.filterSubmodules</code>
1515 </dt>
1516 <dd>
1518 If a partial clone filter is provided (see <code>--filter</code> in
1519 <a href="git-rev-list.html">git-rev-list(1)</a>) and <code>--recurse-submodules</code> is used, also apply
1520 the filter to submodules.
1521 </p>
1522 </dd>
1523 </dl></div>
1524 </div>
1525 </div>
1526 <div class="sect1">
1527 <h2 id="_git">GIT</h2>
1528 <div class="sectionbody">
1529 <div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
1530 </div>
1531 </div>
1532 </div>
1533 <div id="footnotes"><hr /></div>
1534 <div id="footer">
1535 <div id="footer-text">
1536 Last updated
1537 2024-04-09 14:45:01 PDT
1538 </div>
1539 </div>
1540 </body>
1541 </html>