Autogenerated man pages for v1.3.2-g8611
[git.git] / man1 / git-send-pack.1
1 .\"Generated by db2man.xsl. Don't modify this, modify the source.
2 .de Sh \" Subsection
3 .br
4 .if t .Sp
5 .ne 5
6 .PP
7 \fB\\$1\fR
8 .PP
9 ..
10 .de Sp \" Vertical space (when we can't use .PP)
11 .if t .sp .5v
12 .if n .sp
13 ..
14 .de Ip \" List item
15 .br
16 .ie \\n(.$>=3 .ne \\$3
17 .el .ne 3
18 .IP "\\$1" \\$2
19 ..
20 .TH "GIT-SEND-PACK" 1 "" "" ""
21 .SH NAME
22 git-send-pack \- Push missing objects packed
23 .SH "SYNOPSIS"
24
25
26 \fIgit\-send\-pack\fR [\-\-all] [\-\-force] [\-\-exec=<git\-receive\-pack>] [<host>:]<directory> [<ref>...]
27
28 .SH "DESCRIPTION"
29
30
31 Invokes \fIgit\-receive\-pack\fR on a possibly remote repository, and updates it from the current repository, sending named refs\&.
32
33 .SH "OPTIONS"
34
35 .TP
36 \-\-exec=<git\-receive\-pack>
37 Path to the \fIgit\-receive\-pack\fR program on the remote end\&. Sometimes useful when pushing to a remote repository over ssh, and you do not have the program in a directory on the default $PATH\&.
38
39 .TP
40 \-\-all
41 Instead of explicitly specifying which refs to update, update all refs that locally exist\&.
42
43 .TP
44 \-\-force
45 Usually, the command refuses to update a remote ref that is not an ancestor of the local ref used to overwrite it\&. This flag disables the check\&. What this means is that the remote repository can lose commits; use it with care\&.
46
47 .TP
48 <host>
49 A remote host to house the repository\&. When this part is specified, \fIgit\-receive\-pack\fR is invoked via ssh\&.
50
51 .TP
52 <directory>
53 The repository to update\&.
54
55
56 <ref>...: The remote refs to update\&.
57
58 .SH "SPECIFYING THE REFS"
59
60
61 There are three ways to specify which refs to update on the remote end\&.
62
63
64 With \fI\-\-all\fR flag, all refs that exist locally are transfered to the remote side\&. You cannot specify any \fI<ref>\fR if you use this flag\&.
65
66
67 Without \fI\-\-all\fR and without any \fI<ref>\fR, the refs that exist both on the local side and on the remote side are updated\&.
68
69
70 When one or more \fI<ref>\fR are specified explicitly, it can be either a single pattern, or a pair of such pattern separated by a colon ":" (this means that a ref name cannot have a colon in it)\&. A single pattern \fI<name>\fR is just a shorthand for \fI<name>:<name>\fR\&.
71
72
73 Each pattern pair consists of the source side (before the colon) and the destination side (after the colon)\&. The ref to be pushed is determined by finding a match that matches the source side, and where it is pushed is determined by using the destination side\&.
74
75 .TP 3
76 \(bu
77 It is an error if <src> does not match exactly one of the local refs\&.
78 .TP
79 \(bu
80 It is an error if <dst> matches more than one remote refs\&.
81 .TP
82 \(bu
83 If <dst> does not match any remote ref, either
84
85 .RS
86 .TP 3
87 \(bu
88 it has to start with "refs/"; <dst> is used as the destination literally in this case\&.
89 .TP
90 \(bu
91 <src> == <dst> and the ref that matched the <src> must not exist in the set of remote refs; the ref matched <src> locally is used as the name of the destination\&.
92 .LP
93 .RE
94 .IP
95 .LP
96
97
98 Without \fI\-\-force\fR, the <src> ref is stored at the remote only if <dst> does not exist, or <dst> is a proper subset (i\&.e\&. an ancestor) of <src>\&. This check, known as "fast forward check", is performed in order to avoid accidentally overwriting the remote ref and lose other peoples' commits from there\&.
99
100
101 With \fI\-\-force\fR, the fast forward check is disabled for all refs\&.
102
103
104 Optionally, a <ref> parameter can be prefixed with a plus \fI+\fR sign to disable the fast\-forward check only on that ref\&.
105
106 .SH "AUTHOR"
107
108
109 Written by Linus Torvalds <torvalds@osdl\&.org>
110
111 .SH "DOCUMENTATION"
112
113
114 Documentation by Junio C Hamano\&.
115
116 .SH "GIT"
117
118
119 Part of the \fBgit\fR(7) suite
120