path: root/Documentation/git-http-push.txt
diff options
Diffstat (limited to 'Documentation/git-http-push.txt')
1 files changed, 89 insertions, 0 deletions
diff --git a/Documentation/git-http-push.txt b/Documentation/git-http-push.txt
new file mode 100644
index 0000000..c7066d6
--- /dev/null
+++ b/Documentation/git-http-push.txt
@@ -0,0 +1,89 @@
+git-http-push - Push missing objects using HTTP/DAV.
+'git-http-push' [--complete] [--force] [--verbose] <url> <ref> [<ref>...]
+Sends missing objects to remote repository, and updates the
+remote branch.
+ Do not assume that the remote repository is complete in its
+ current state, and verify all objects in the entire local
+ ref's history exist in the remote repository.
+ 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.
+ Report the list of objects being walked locally and the
+ list of objects successfully sent to the remote repository.
+ The remote refs to update.
+Specifying the Refs
+A '<ref>' 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 '<name>' is just a
+shorthand for '<name>:<name>'.
+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.
+ - It is an error if <src> does not match exactly one of the
+ local refs.
+ - If <dst> does not match any remote ref, either
+ * it has to start with "refs/"; <dst> is used as the
+ destination literally in this case.
+ * <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.
+Without '--force', 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.
+With '--force', the fast forward check is disabled for all refs.
+Optionally, a <ref> parameter can be prefixed with a plus '+' sign
+to disable the fast-forward check only on that ref.
+Written by Nick Hengeveld <>
+Documentation by Nick Hengeveld
+Part of the gitlink:git[7] suite