Autogenerated manpages for v2.47.0-rc0
[git-manpages.git] / man1 / git-http-push.1
blob4d178a1be937e643be1957a0646f1158f46d8122
1 '\" t
2 .\"     Title: git-http-push
3 .\"    Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
4 .\" Generator: DocBook XSL Stylesheets v1.79.2 <http://docbook.sf.net/>
5 .\"      Date: 2024-09-25
6 .\"    Manual: Git Manual
7 .\"    Source: Git 2.47.0.rc0
8 .\"  Language: English
9 .\"
10 .TH "GIT\-HTTP\-PUSH" "1" "2024-09-25" "Git 2\&.47\&.0\&.rc0" "Git Manual"
11 .\" -----------------------------------------------------------------
12 .\" * Define some portability stuff
13 .\" -----------------------------------------------------------------
14 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15 .\" http://bugs.debian.org/507673
16 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
17 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18 .ie \n(.g .ds Aq \(aq
19 .el       .ds Aq '
20 .\" -----------------------------------------------------------------
21 .\" * set default formatting
22 .\" -----------------------------------------------------------------
23 .\" disable hyphenation
24 .nh
25 .\" disable justification (adjust text to left margin only)
26 .ad l
27 .\" -----------------------------------------------------------------
28 .\" * MAIN CONTENT STARTS HERE *
29 .\" -----------------------------------------------------------------
30 .SH "NAME"
31 git-http-push \- Push objects over HTTP/DAV to another repository
32 .SH "SYNOPSIS"
33 .sp
34 .nf
35 \fIgit http\-push\fR [\-\-all] [\-\-dry\-run] [\-\-force] [\-\-verbose] <URL> <ref> [<ref>\&...\:]
36 .fi
37 .SH "DESCRIPTION"
38 .sp
39 Sends missing objects to the remote repository, and updates the remote branch\&.
40 .sp
41 \fBNOTE\fR: This command is temporarily disabled if your libcurl is older than 7\&.16, as the combination has been reported not to work and sometimes corrupts the repository\&.
42 .SH "OPTIONS"
43 .PP
44 \-\-all
45 .RS 4
46 Do not assume that the remote repository is complete in its current state, and verify all objects in the entire local ref\(cqs history exist in the remote repository\&.
47 .RE
48 .PP
49 \-\-force
50 .RS 4
51 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\&.
52 .RE
53 .PP
54 \-\-dry\-run
55 .RS 4
56 Do everything except actually send the updates\&.
57 .RE
58 .PP
59 \-\-verbose
60 .RS 4
61 Report the list of objects being walked locally and the list of objects successfully sent to the remote repository\&.
62 .RE
63 .PP
64 \-d, \-D
65 .RS 4
66 Remove <ref> from remote repository\&. The specified branch cannot be the remote HEAD\&. If \-d is specified, the following other conditions must also be met:
67 .sp
68 .RS 4
69 .ie n \{\
70 \h'-04'\(bu\h'+03'\c
71 .\}
72 .el \{\
73 .sp -1
74 .IP \(bu 2.3
75 .\}
76 Remote HEAD must resolve to an object that exists locally
77 .RE
78 .sp
79 .RS 4
80 .ie n \{\
81 \h'-04'\(bu\h'+03'\c
82 .\}
83 .el \{\
84 .sp -1
85 .IP \(bu 2.3
86 .\}
87 Specified branch resolves to an object that exists locally
88 .RE
89 .sp
90 .RS 4
91 .ie n \{\
92 \h'-04'\(bu\h'+03'\c
93 .\}
94 .el \{\
95 .sp -1
96 .IP \(bu 2.3
97 .\}
98 Specified branch is an ancestor of the remote HEAD
99 .RE
102 <ref>\&...\:
103 .RS 4
104 The remote refs to update\&.
106 .SH "SPECIFYING THE REFS"
108 A \fI<ref>\fR specification can be either a single pattern, or a pair of such patterns 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\&.
110 Each pattern pair \fI<src>:<dst>\fR 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\&.
112 .RS 4
113 .ie n \{\
114 \h'-04'\(bu\h'+03'\c
116 .el \{\
117 .sp -1
118 .IP \(bu 2.3
120 It is an error if
121 \fI<src>\fR
122 does not match exactly one of the local refs\&.
125 .RS 4
126 .ie n \{\
127 \h'-04'\(bu\h'+03'\c
129 .el \{\
130 .sp -1
131 .IP \(bu 2.3
134 \fI<dst>\fR
135 does not match any remote ref, either
137 .RS 4
138 .ie n \{\
139 \h'-04'\(bu\h'+03'\c
141 .el \{\
142 .sp -1
143 .IP \(bu 2.3
145 it has to start with "refs/"; <dst> is used as the destination literally in this case\&.
148 .RS 4
149 .ie n \{\
150 \h'-04'\(bu\h'+03'\c
152 .el \{\
153 .sp -1
154 .IP \(bu 2.3
156 <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\&.
160 Without \fB\-\-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 to avoid accidentally overwriting the remote ref and losing other peoples\*(Aq commits from there\&.
162 With \fB\-\-force\fR, the fast\-forward check is disabled for all refs\&.
164 Optionally, a <ref> parameter can be prefixed with a plus \fI+\fR sign to disable the fast\-forward check only on that ref\&.
165 .SH "GIT"
167 Part of the \fBgit\fR(1) suite