blob: 2cdff5a0ec8382f89d74181e311540cf87438f93 [file] [log] [blame]
Junio C Hamano1a4e8412005-12-27 08:17:231<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4<head>
5<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Junio C Hamano01078922006-03-10 00:31:476<meta name="generator" content="AsciiDoc 7.0.2" />
Junio C Hamano1a4e8412005-12-27 08:17:237<style type="text/css">
8/* Debug borders */
9p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
10/*
11 border: 1px solid red;
12*/
13}
14
15body {
16 margin: 1em 5% 1em 5%;
17}
18
19a { color: blue; }
20a:visited { color: fuchsia; }
21
22em {
23 font-style: italic;
24}
25
26strong {
27 font-weight: bold;
28}
29
30tt {
31 color: navy;
32}
33
34h1, h2, h3, h4, h5, h6 {
35 color: #527bbd;
36 font-family: sans-serif;
37 margin-top: 1.2em;
38 margin-bottom: 0.5em;
39 line-height: 1.3;
40}
41
42h1 {
43 border-bottom: 2px solid silver;
44}
45h2 {
46 border-bottom: 2px solid silver;
47 padding-top: 0.5em;
48}
49
50div.sectionbody {
51 font-family: serif;
52 margin-left: 0;
53}
54
55hr {
56 border: 1px solid silver;
57}
58
59p {
60 margin-top: 0.5em;
61 margin-bottom: 0.5em;
62}
63
64pre {
65 padding: 0;
66 margin: 0;
67}
68
69span#author {
70 color: #527bbd;
71 font-family: sans-serif;
72 font-weight: bold;
73 font-size: 1.2em;
74}
75span#email {
76}
77span#revision {
78 font-family: sans-serif;
79}
80
81div#footer {
82 font-family: sans-serif;
83 font-size: small;
84 border-top: 2px solid silver;
85 padding-top: 0.5em;
86 margin-top: 4.0em;
87}
88div#footer-text {
89 float: left;
90 padding-bottom: 0.5em;
91}
92div#footer-badges {
93 float: right;
94 padding-bottom: 0.5em;
95}
96
97div#preamble,
98div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
99div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
100div.admonitionblock {
101 margin-right: 10%;
102 margin-top: 1.5em;
103 margin-bottom: 1.5em;
104}
105div.admonitionblock {
106 margin-top: 2.5em;
107 margin-bottom: 2.5em;
108}
109
110div.content { /* Block element content. */
111 padding: 0;
112}
113
114/* Block element titles. */
115div.title, caption.title {
116 font-family: sans-serif;
117 font-weight: bold;
118 text-align: left;
119 margin-top: 1.0em;
120 margin-bottom: 0.5em;
121}
122div.title + * {
123 margin-top: 0;
124}
125
126td div.title:first-child {
127 margin-top: 0.0em;
128}
129div.content div.title:first-child {
130 margin-top: 0.0em;
131}
132div.content + div.title {
133 margin-top: 0.0em;
134}
135
136div.sidebarblock > div.content {
137 background: #ffffee;
138 border: 1px solid silver;
139 padding: 0.5em;
140}
141
142div.listingblock > div.content {
143 border: 1px solid silver;
144 background: #f4f4f4;
145 padding: 0.5em;
146}
147
148div.quoteblock > div.content {
149 padding-left: 2.0em;
150}
151div.quoteblock .attribution {
152 text-align: right;
153}
154
155div.admonitionblock .icon {
156 vertical-align: top;
157 font-size: 1.1em;
158 font-weight: bold;
159 text-decoration: underline;
160 color: #527bbd;
161 padding-right: 0.5em;
162}
163div.admonitionblock td.content {
164 padding-left: 0.5em;
165 border-left: 2px solid silver;
166}
167
168div.exampleblock > div.content {
169 border-left: 2px solid silver;
170 padding: 0.5em;
171}
172
173div.verseblock div.content {
174 white-space: pre;
175}
176
177div.imageblock div.content { padding-left: 0; }
178div.imageblock img { border: 1px solid silver; }
179span.image img { border-style: none; }
180
181dl {
182 margin-top: 0.8em;
183 margin-bottom: 0.8em;
184}
185dt {
186 margin-top: 0.5em;
187 margin-bottom: 0;
188 font-style: italic;
189}
190dd > *:first-child {
191 margin-top: 0;
192}
193
194ul, ol {
195 list-style-position: outside;
196}
197ol.olist2 {
198 list-style-type: lower-alpha;
199}
200
201div.tableblock > table {
202 border-color: #527bbd;
203 border-width: 3px;
204}
205thead {
206 font-family: sans-serif;
207 font-weight: bold;
208}
209tfoot {
210 font-weight: bold;
211}
212
213div.hlist {
214 margin-top: 0.8em;
215 margin-bottom: 0.8em;
216}
217td.hlist1 {
218 vertical-align: top;
219 font-style: italic;
220 padding-right: 0.8em;
221}
222td.hlist2 {
223 vertical-align: top;
224}
225
226@media print {
227 div#footer-badges { display: none; }
228}
229include::./stylesheets/xhtml11-manpage.css[]
230/* Workarounds for IE6's broken and incomplete CSS2. */
231
232div.sidebar-content {
233 background: #ffffee;
234 border: 1px solid silver;
235 padding: 0.5em;
236}
237div.sidebar-title, div.image-title {
238 font-family: sans-serif;
239 font-weight: bold;
240 margin-top: 0.0em;
241 margin-bottom: 0.5em;
242}
243
244div.listingblock div.content {
245 border: 1px solid silver;
246 background: #f4f4f4;
247 padding: 0.5em;
248}
249
250div.quoteblock-content {
251 padding-left: 2.0em;
252}
253
254div.exampleblock-content {
255 border-left: 2px solid silver;
256 padding-left: 0.5em;
257}
258</style>
259<title>git-send-pack(1)</title>
260</head>
261<body>
262<div id="header">
263<h1>
264git-send-pack(1) Manual Page
265</h1>
266<h2>NAME</h2>
267<div class="sectionbody">
268<p>git-send-pack -
Junio C Hamanoee1e4282007-02-04 08:32:04269 Push objects over git protocol to another repository
Junio C Hamano1a4e8412005-12-27 08:17:23270</p>
271</div>
272</div>
273<h2>SYNOPSIS</h2>
274<div class="sectionbody">
Junio C Hamano764a6672007-10-23 01:23:31275<p><em>git-send-pack</em> [--all] [--dry-run] [--force] [--receive-pack=&lt;git-receive-pack&gt;] [--verbose] [--thin] [&lt;host&gt;:]&lt;directory&gt; [&lt;ref&gt;&#8230;]</p>
Junio C Hamano1a4e8412005-12-27 08:17:23276</div>
277<h2>DESCRIPTION</h2>
278<div class="sectionbody">
Junio C Hamanoe58607f2007-01-17 23:27:45279<p>Usually you would want to use <a href="git-push.html">git-push(1)</a> which is a
280higher level wrapper of this command instead.</p>
Junio C Hamano1a4e8412005-12-27 08:17:23281<p>Invokes <em>git-receive-pack</em> on a possibly remote repository, and
282updates it from the current repository, sending named refs.</p>
283</div>
284<h2>OPTIONS</h2>
285<div class="sectionbody">
286<dl>
287<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50288--receive-pack=&lt;git-receive-pack&gt;
Junio C Hamano1a4e8412005-12-27 08:17:23289</dt>
290<dd>
291<p>
292 Path to the <em>git-receive-pack</em> program on the remote
293 end. Sometimes useful when pushing to a remote
294 repository over ssh, and you do not have the program in
295 a directory on the default $PATH.
296</p>
297</dd>
298<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50299--exec=&lt;git-receive-pack&gt;
300</dt>
301<dd>
302<p>
303 Same as --receive-pack=&lt;git-receive-pack&gt;.
304</p>
305</dd>
306<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23307--all
308</dt>
309<dd>
310<p>
311 Instead of explicitly specifying which refs to update,
Junio C Hamanod2d9ae12007-09-19 02:27:57312 update all heads that locally exist.
Junio C Hamano1a4e8412005-12-27 08:17:23313</p>
314</dd>
315<dt>
Junio C Hamano764a6672007-10-23 01:23:31316--dry-run
317</dt>
318<dd>
319<p>
320 Do everything except actually send the updates.
321</p>
322</dd>
323<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23324--force
325</dt>
326<dd>
327<p>
328 Usually, the command refuses to update a remote ref that
329 is not an ancestor of the local ref used to overwrite it.
330 This flag disables the check. What this means is that
331 the remote repository can lose commits; use it with
332 care.
333</p>
334</dd>
335<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50336--verbose
337</dt>
338<dd>
339<p>
340 Run verbosely.
341</p>
342</dd>
343<dt>
344--thin
345</dt>
346<dd>
347<p>
348 Spend extra cycles to minimize the number of objects to be sent.
349 Use it on slower connection.
350</p>
351</dd>
352<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23353&lt;host&gt;
354</dt>
355<dd>
356<p>
357 A remote host to house the repository. When this
358 part is specified, <em>git-receive-pack</em> is invoked via
359 ssh.
360</p>
361</dd>
362<dt>
363&lt;directory&gt;
364</dt>
365<dd>
366<p>
367 The repository to update.
368</p>
369</dd>
Junio C Hamano21c0b422006-10-12 19:10:36370<dt>
371&lt;ref&gt;&#8230;
372</dt>
373<dd>
374<p>
375 The remote refs to update.
376</p>
377</dd>
Junio C Hamano1a4e8412005-12-27 08:17:23378</dl>
Junio C Hamano1a4e8412005-12-27 08:17:23379</div>
380<h2>Specifying the Refs</h2>
381<div class="sectionbody">
382<p>There are three ways to specify which refs to update on the
383remote end.</p>
Junio C Hamano341071d2006-06-04 07:24:48384<p>With <em>--all</em> flag, all refs that exist locally are transferred to
Junio C Hamano1a4e8412005-12-27 08:17:23385the remote side. You cannot specify any <em>&lt;ref&gt;</em> if you use
386this flag.</p>
Junio C Hamanod2d9ae12007-09-19 02:27:57387<p>Without <em>--all</em> and without any <em>&lt;ref&gt;</em>, the heads that exist
Junio C Hamano1a4e8412005-12-27 08:17:23388both on the local side and on the remote side are updated.</p>
389<p>When one or more <em>&lt;ref&gt;</em> are specified explicitly, it can be either a
390single pattern, or a pair of such pattern separated by a colon
391":" (this means that a ref name cannot have a colon in it). A
392single pattern <em>&lt;name&gt;</em> is just a shorthand for <em>&lt;name&gt;:&lt;name&gt;</em>.</p>
393<p>Each pattern pair consists of the source side (before the colon)
394and the destination side (after the colon). The ref to be
395pushed is determined by finding a match that matches the source
396side, and where it is pushed is determined by using the
Junio C Hamanoe0facb92007-12-05 10:59:48397destination side. The rules used to match a ref are the same
398rules used by <a href="git-rev-parse.html">git-rev-parse(1)</a> to resolve a symbolic ref
399name.</p>
Junio C Hamano1a4e8412005-12-27 08:17:23400<ul>
401<li>
402<p>
403It is an error if &lt;src&gt; does not match exactly one of the
404 local refs.
405</p>
406</li>
407<li>
408<p>
409It is an error if &lt;dst&gt; matches more than one remote refs.
410</p>
411</li>
412<li>
413<p>
414If &lt;dst&gt; does not match any remote ref, either
415</p>
416<ul>
417<li>
418<p>
419it has to start with "refs/"; &lt;dst&gt; is used as the
420 destination literally in this case.
421</p>
422</li>
423<li>
424<p>
425&lt;src&gt; == &lt;dst&gt; and the ref that matched the &lt;src&gt; must not
426 exist in the set of remote refs; the ref matched &lt;src&gt;
427 locally is used as the name of the destination.
428</p>
429</li>
430</ul>
431</li>
432</ul>
433<p>Without <em>--force</em>, the &lt;src&gt; ref is stored at the remote only if
434&lt;dst&gt; does not exist, or &lt;dst&gt; is a proper subset (i.e. an
435ancestor) of &lt;src&gt;. This check, known as "fast forward check",
436is performed in order to avoid accidentally overwriting the
437remote ref and lose other peoples' commits from there.</p>
438<p>With <em>--force</em>, the fast forward check is disabled for all refs.</p>
439<p>Optionally, a &lt;ref&gt; parameter can be prefixed with a plus <em>+</em> sign
440to disable the fast-forward check only on that ref.</p>
441</div>
442<h2>Author</h2>
443<div class="sectionbody">
444<p>Written by Linus Torvalds &lt;torvalds@osdl.org&gt;</p>
445</div>
446<h2>Documentation</h2>
447<div class="sectionbody">
448<p>Documentation by Junio C Hamano.</p>
449</div>
450<h2>GIT</h2>
451<div class="sectionbody">
452<p>Part of the <a href="git.html">git(7)</a> suite</p>
453</div>
454<div id="footer">
455<div id="footer-text">
Junio C Hamanoe0facb92007-12-05 10:59:48456Last updated 05-Dec-2007 10:59:14 UTC
Junio C Hamano1a4e8412005-12-27 08:17:23457</div>
458</div>
459</body>
460</html>