Autogenerated HTML docs for v1.3.3-gd177e
[git.git] / git-push.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\r
2     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
4 <head>\r
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
6 <meta name="generator" content="AsciiDoc 7.0.2" />\r
7 <style type="text/css">\r
8 /* Debug borders */\r
9 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {\r
10 /*\r
11   border: 1px solid red;\r
12 */\r
13 }\r
14 \r
15 body {\r
16   margin: 1em 5% 1em 5%;\r
17 }\r
18 \r
19 a { color: blue; }\r
20 a:visited { color: fuchsia; }\r
21 \r
22 em {\r
23   font-style: italic;\r
24 }\r
25 \r
26 strong {\r
27   font-weight: bold;\r
28 }\r
29 \r
30 tt {\r
31   color: navy;\r
32 }\r
33 \r
34 h1, h2, h3, h4, h5, h6 {\r
35   color: #527bbd;\r
36   font-family: sans-serif;\r
37   margin-top: 1.2em;\r
38   margin-bottom: 0.5em;\r
39   line-height: 1.3;\r
40 }\r
41 \r
42 h1 {\r
43   border-bottom: 2px solid silver;\r
44 }\r
45 h2 {\r
46   border-bottom: 2px solid silver;\r
47   padding-top: 0.5em;\r
48 }\r
49 \r
50 div.sectionbody {\r
51   font-family: serif;\r
52   margin-left: 0;\r
53 }\r
54 \r
55 hr {\r
56   border: 1px solid silver;\r
57 }\r
58 \r
59 p {\r
60   margin-top: 0.5em;\r
61   margin-bottom: 0.5em;\r
62 }\r
63 \r
64 pre {\r
65   padding: 0;\r
66   margin: 0;\r
67 }\r
68 \r
69 span#author {\r
70   color: #527bbd;\r
71   font-family: sans-serif;\r
72   font-weight: bold;\r
73   font-size: 1.2em;\r
74 }\r
75 span#email {\r
76 }\r
77 span#revision {\r
78   font-family: sans-serif;\r
79 }\r
80 \r
81 div#footer {\r
82   font-family: sans-serif;\r
83   font-size: small;\r
84   border-top: 2px solid silver;\r
85   padding-top: 0.5em;\r
86   margin-top: 4.0em;\r
87 }\r
88 div#footer-text {\r
89   float: left;\r
90   padding-bottom: 0.5em;\r
91 }\r
92 div#footer-badges {\r
93   float: right;\r
94   padding-bottom: 0.5em;\r
95 }\r
96 \r
97 div#preamble,\r
98 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,\r
99 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,\r
100 div.admonitionblock {\r
101   margin-right: 10%;\r
102   margin-top: 1.5em;\r
103   margin-bottom: 1.5em;\r
104 }\r
105 div.admonitionblock {\r
106   margin-top: 2.5em;\r
107   margin-bottom: 2.5em;\r
108 }\r
109 \r
110 div.content { /* Block element content. */\r
111   padding: 0;\r
112 }\r
113 \r
114 /* Block element titles. */\r
115 div.title, caption.title {\r
116   font-family: sans-serif;\r
117   font-weight: bold;\r
118   text-align: left;\r
119   margin-top: 1.0em;\r
120   margin-bottom: 0.5em;\r
121 }\r
122 div.title + * {\r
123   margin-top: 0;\r
124 }\r
125 \r
126 td div.title:first-child {\r
127   margin-top: 0.0em;\r
128 }\r
129 div.content div.title:first-child {\r
130   margin-top: 0.0em;\r
131 }\r
132 div.content + div.title {\r
133   margin-top: 0.0em;\r
134 }\r
135 \r
136 div.sidebarblock > div.content {\r
137   background: #ffffee;\r
138   border: 1px solid silver;\r
139   padding: 0.5em;\r
140 }\r
141 \r
142 div.listingblock > div.content {\r
143   border: 1px solid silver;\r
144   background: #f4f4f4;\r
145   padding: 0.5em;\r
146 }\r
147 \r
148 div.quoteblock > div.content {\r
149   padding-left: 2.0em;\r
150 }\r
151 div.quoteblock .attribution {\r
152   text-align: right;\r
153 }\r
154 \r
155 div.admonitionblock .icon {\r
156   vertical-align: top;\r
157   font-size: 1.1em;\r
158   font-weight: bold;\r
159   text-decoration: underline;\r
160   color: #527bbd;\r
161   padding-right: 0.5em;\r
162 }\r
163 div.admonitionblock td.content {\r
164   padding-left: 0.5em;\r
165   border-left: 2px solid silver;\r
166 }\r
167 \r
168 div.exampleblock > div.content {\r
169   border-left: 2px solid silver;\r
170   padding: 0.5em;\r
171 }\r
172 \r
173 div.verseblock div.content {\r
174   white-space: pre;\r
175 }\r
176 \r
177 div.imageblock div.content { padding-left: 0; }\r
178 div.imageblock img { border: 1px solid silver; }\r
179 span.image img { border-style: none; }\r
180 \r
181 dl {\r
182   margin-top: 0.8em;\r
183   margin-bottom: 0.8em;\r
184 }\r
185 dt {\r
186   margin-top: 0.5em;\r
187   margin-bottom: 0;\r
188   font-style: italic;\r
189 }\r
190 dd > *:first-child {\r
191   margin-top: 0;\r
192 }\r
193 \r
194 ul, ol {\r
195     list-style-position: outside;\r
196 }\r
197 ol.olist2 {\r
198   list-style-type: lower-alpha;\r
199 }\r
200 \r
201 div.tableblock > table {\r
202   border-color: #527bbd;\r
203   border-width: 3px;\r
204 }\r
205 thead {\r
206   font-family: sans-serif;\r
207   font-weight: bold;\r
208 }\r
209 tfoot {\r
210   font-weight: bold;\r
211 }\r
212 \r
213 div.hlist {\r
214   margin-top: 0.8em;\r
215   margin-bottom: 0.8em;\r
216 }\r
217 td.hlist1 {\r
218   vertical-align: top;\r
219   font-style: italic;\r
220   padding-right: 0.8em;\r
221 }\r
222 td.hlist2 {\r
223   vertical-align: top;\r
224 }\r
225 \r
226 @media print {\r
227   div#footer-badges { display: none; }\r
228 }\r
229 include::./stylesheets/xhtml11-manpage.css[]\r
230 /* Workarounds for IE6's broken and incomplete CSS2. */\r
231 \r
232 div.sidebar-content {\r
233   background: #ffffee;\r
234   border: 1px solid silver;\r
235   padding: 0.5em;\r
236 }\r
237 div.sidebar-title, div.image-title {\r
238   font-family: sans-serif;\r
239   font-weight: bold;\r
240   margin-top: 0.0em;\r
241   margin-bottom: 0.5em;\r
242 }\r
243 \r
244 div.listingblock div.content {\r
245   border: 1px solid silver;\r
246   background: #f4f4f4;\r
247   padding: 0.5em;\r
248 }\r
249 \r
250 div.quoteblock-content {\r
251   padding-left: 2.0em;\r
252 }\r
253 \r
254 div.exampleblock-content {\r
255   border-left: 2px solid silver;\r
256   padding-left: 0.5em;\r
257 }\r
258 </style>\r
259 <title>git-push(1)</title>\r
260 </head>\r
261 <body>\r
262 <div id="header">\r
263 <h1>\r
264 git-push(1) Manual Page\r
265 </h1>\r
266 <h2>NAME</h2>\r
267 <div class="sectionbody">\r
268 <p>git-push -\r
269    Update remote refs along with associated objects\r
270 </p>\r
271 </div>\r
272 </div>\r
273 <h2>SYNOPSIS</h2>\r
274 <div class="sectionbody">\r
275 <p><em>git-push</em> [--all] [--tags] [--force] &lt;repository&gt; &lt;refspec&gt;&#8230;</p>\r
276 </div>\r
277 <h2>DESCRIPTION</h2>\r
278 <div class="sectionbody">\r
279 <p>Updates remote refs using local refs, while sending objects\r
280 necessary to complete the given refs.</p>\r
281 <p>You can make interesting things happen to a repository\r
282 every time you push into it, by setting up <em>hooks</em> there.  See\r
283 documentation for <a href="git-receive-pack.html">git-receive-pack(1)</a>.</p>\r
284 </div>\r
285 <h2>OPTIONS</h2>\r
286 <div class="sectionbody">\r
287 <dl>\r
288 <dt>\r
289 &lt;repository&gt;\r
290 </dt>\r
291 <dd>\r
292 <p>\r
293         The "remote" repository that is destination of a push\r
294         operation.  See the section <a href="#URLS">GIT URLS</a> below.\r
295 </p>\r
296 </dd>\r
297 <dt>\r
298 &lt;refspec&gt;\r
299 </dt>\r
300 <dd>\r
301 <p>\r
302         The canonical format of a &lt;refspec&gt; parameter is\r
303         <tt>+?&lt;src&gt;:&lt;dst&gt;</tt>; that is, an optional plus <tt>+</tt>, followed\r
304         by the source ref, followed by a colon <tt>:</tt>, followed by\r
305         the destination ref.\r
306 </p>\r
307 <p>The &lt;src&gt; side can be an\r
308 arbitrary "SHA1 expression" that can be used as an\r
309 argument to <tt>git-cat-file -t</tt>.  E.g. <tt>master~4</tt> (push\r
310 four parents before the current master head).</p>\r
311 <p>The local ref that matches &lt;src&gt; is used\r
312 to fast forward the remote ref that matches &lt;dst&gt;.  If\r
313 the optional plus <tt>+</tt> is used, the remote ref is updated\r
314 even if it does not result in a fast forward update.</p>\r
315 <p>Note: If no explicit refspec is found, (that is neither\r
316 on the command line nor in any Push line of the\r
317 corresponding remotes file---see below), then all the\r
318 refs that exist both on the local side and on the remote\r
319 side are updated.</p>\r
320 <p>Some short-cut notations are also supported.</p>\r
321 <ul>\r
322 <li>\r
323 <p>\r
324 <tt>tag &lt;tag&gt;</tt> means the same as <tt>refs/tags/&lt;tag&gt;:refs/tags/&lt;tag&gt;</tt>.\r
325 </p>\r
326 </li>\r
327 <li>\r
328 <p>\r
329 A parameter &lt;ref&gt; without a colon is equivalent to\r
330   &lt;ref&gt;<tt>:</tt>&lt;ref&gt;, hence updates &lt;ref&gt; in the destination from &lt;ref&gt;\r
331   in the source.\r
332 </p>\r
333 </li>\r
334 </ul>\r
335 </dd>\r
336 <dt>\r
337 --all\r
338 </dt>\r
339 <dd>\r
340 <p>\r
341         Instead of naming each ref to push, specifies that all\r
342         refs be pushed.\r
343 </p>\r
344 </dd>\r
345 <dt>\r
346 --tags\r
347 </dt>\r
348 <dd>\r
349 <p>\r
350         All refs under <tt>$GIT_DIR/refs/tags</tt> are pushed, in\r
351         addition to refspecs explicitly listed on the command\r
352         line.\r
353 </p>\r
354 </dd>\r
355 <dt>\r
356 -f, --force\r
357 </dt>\r
358 <dd>\r
359 <p>\r
360         Usually, the command refuses to update a remote ref that is\r
361         not a descendent of the local ref used to overwrite it.\r
362         This flag disables the check.  This can cause the\r
363         remote repository to lose commits; use it with care.\r
364 </p>\r
365 </dd>\r
366 </dl>\r
367 </div>\r
368 <h2>GIT URLS<a id="URLS"></a></h2>\r
369 <div class="sectionbody">\r
370 <p>One of the following notations can be used\r
371 to name the remote repository:</p>\r
372 <div class="exampleblock">\r
373 <div class="exampleblock-content">\r
374 <ul>\r
375 <li>\r
376 <p>\r
377 rsync://host.xz/path/to/repo.git/\r
378 </p>\r
379 </li>\r
380 <li>\r
381 <p>\r
382 http://host.xz/path/to/repo.git/\r
383 </p>\r
384 </li>\r
385 <li>\r
386 <p>\r
387 https://host.xz/path/to/repo.git/\r
388 </p>\r
389 </li>\r
390 <li>\r
391 <p>\r
392 git://host.xz/path/to/repo.git/\r
393 </p>\r
394 </li>\r
395 <li>\r
396 <p>\r
397 git://host.xz/~user/path/to/repo.git/\r
398 </p>\r
399 </li>\r
400 <li>\r
401 <p>\r
402 ssh://host.xz/path/to/repo.git/\r
403 </p>\r
404 </li>\r
405 <li>\r
406 <p>\r
407 ssh://host.xz/~user/path/to/repo.git/\r
408 </p>\r
409 </li>\r
410 <li>\r
411 <p>\r
412 ssh://host.xz/~/path/to/repo.git\r
413 </p>\r
414 </li>\r
415 </ul>\r
416 </div></div>\r
417 <p>SSH Is the default transport protocol and also supports an\r
418 scp-like syntax.  Both syntaxes support username expansion,\r
419 as does the native git protocol. The following three are\r
420 identical to the last three above, respectively:</p>\r
421 <div class="exampleblock">\r
422 <div class="exampleblock-content">\r
423 <ul>\r
424 <li>\r
425 <p>\r
426 host.xz:/path/to/repo.git/\r
427 </p>\r
428 </li>\r
429 <li>\r
430 <p>\r
431 host.xz:~user/path/to/repo.git/\r
432 </p>\r
433 </li>\r
434 <li>\r
435 <p>\r
436 host.xz:path/to/repo.git\r
437 </p>\r
438 </li>\r
439 </ul>\r
440 </div></div>\r
441 <p>To sync with a local directory, use:</p>\r
442 <div class="exampleblock">\r
443 <div class="exampleblock-content">\r
444 <ul>\r
445 <li>\r
446 <p>\r
447 /path/to/repo.git/\r
448 </p>\r
449 </li>\r
450 </ul>\r
451 </div></div>\r
452 </div>\r
453 <h2>REMOTES</h2>\r
454 <div class="sectionbody">\r
455 <p>In addition to the above, as a short-hand, the name of a\r
456 file in <tt>$GIT_DIR/remotes</tt> directory can be given; the\r
457 named file should be in the following format:</p>\r
458 <div class="literalblock">\r
459 <div class="content">\r
460 <pre><tt>URL: one of the above URL format\r
461 Push: &lt;refspec&gt;\r
462 Pull: &lt;refspec&gt;</tt></pre>\r
463 </div></div>\r
464 <p>Then such a short-hand is specified in place of\r
465 &lt;repository&gt; without &lt;refspec&gt; parameters on the command\r
466 line, &lt;refspec&gt; specified on <tt>Push:</tt> lines or <tt>Pull:</tt>\r
467 lines are used for <tt>git-push</tt> and <tt>git-fetch</tt>/<tt>git-pull</tt>,\r
468 respectively.  Multiple <tt>Push:</tt> and and <tt>Pull:</tt> lines may\r
469 be specified for additional branch mappings.</p>\r
470 <p>The name of a file in <tt>$GIT_DIR/branches</tt> directory can be\r
471 specified as an older notation short-hand; the named\r
472 file should contain a single line, a URL in one of the\r
473 above formats, optionally followed by a hash <tt>#</tt> and the\r
474 name of remote head (URL fragment notation).\r
475 <tt>$GIT_DIR/branches/&lt;remote&gt;</tt> file that stores a &lt;url&gt;\r
476 without the fragment is equivalent to have this in the\r
477 corresponding file in the <tt>$GIT_DIR/remotes/</tt> directory.</p>\r
478 <div class="literalblock">\r
479 <div class="content">\r
480 <pre><tt>URL: &lt;url&gt;\r
481 Pull: refs/heads/master:&lt;remote&gt;</tt></pre>\r
482 </div></div>\r
483 <p>while having <tt>&lt;url&gt;#&lt;head&gt;</tt> is equivalent to</p>\r
484 <div class="literalblock">\r
485 <div class="content">\r
486 <pre><tt>URL: &lt;url&gt;\r
487 Pull: refs/heads/&lt;head&gt;:&lt;remote&gt;</tt></pre>\r
488 </div></div>\r
489 </div>\r
490 <h2>Author</h2>\r
491 <div class="sectionbody">\r
492 <p>Written by Junio C Hamano &lt;junkio@cox.net&gt;</p>\r
493 </div>\r
494 <h2>Documentation</h2>\r
495 <div class="sectionbody">\r
496 <p>Documentation by Junio C Hamano and the git-list &lt;git@vger.kernel.org&gt;.</p>\r
497 </div>\r
498 <h2>GIT</h2>\r
499 <div class="sectionbody">\r
500 <p>Part of the <a href="git.html">git(7)</a> suite</p>\r
501 </div>\r
502 <div id="footer">\r
503 <div id="footer-text">\r
504 Last updated 10-Mar-2006 00:31:32 UTC\r
505 </div>\r
506 </div>\r
507 </body>\r
508 </html>\r