X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=Documentation%2Fgit-send-pack.txt;h=9e67f1730261a20ffa8c22b682c9207856901534;hb=2048bb00ee3937808ce9f0c8f59d71a9b46ab56f;hp=6192c5dc41e57a33afc203fab46940fa4596ba26;hpb=2b64f88f09ae2169ec85652b46897574e352936d;p=git.git diff --git a/Documentation/git-send-pack.txt b/Documentation/git-send-pack.txt index 6192c5dc..9e67f173 100644 --- a/Documentation/git-send-pack.txt +++ b/Documentation/git-send-pack.txt @@ -1,20 +1,19 @@ git-send-pack(1) ================ -v0.1, July 2005 NAME ---- -git-send-pack - Push missing objects packed. +git-send-pack - Push missing objects packed SYNOPSIS -------- -'git-send-pack' [--all] [--exec=] [:] [...] +'git-send-pack' [--all] [--force] [--exec=] [:] [...] DESCRIPTION ----------- Invokes 'git-receive-pack' on a possibly remote repository, and -updates it from the current repository, sending named heads. +updates it from the current repository, sending named refs. OPTIONS @@ -29,6 +28,13 @@ OPTIONS Instead of explicitly specifying which refs to update, update all refs that locally exist. +--force:: + 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. + :: A remote host to house the repository. When this part is specified, 'git-receive-pack' is invoked via @@ -37,7 +43,7 @@ OPTIONS :: The repository to update. -...: +...: The remote refs to update. @@ -47,37 +53,49 @@ Specifying the Refs There are three ways to specify which refs to update on the remote end. -With '--all' flag, all refs that exist locally are transfered to -the remote side. You cannot specify any '' if you use +With '--all' flag, all refs that exist locally are transferred to +the remote side. You cannot specify any '' if you use this flag. -Without '--all' and without any '', the refs that exist +Without '--all' and without any '', the refs that exist both on the local side and on the remote side are updated. -When ''s are specified explicitly, it can be either a +When one or more '' 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 +":" (this means that a ref name cannot have a colon in it). A single pattern '' is just a shorthand for ':'. + Each pattern pair consists of the source side (before the colon) -and the destination side (after the colon). The ref that is +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 does not match exactly one of local - refs. + - It is an error if does not match exactly one of the + local refs. - It is an error if matches more than one remote refs. - If does not match any remote ref, either - - it has to start with "refs/"; is used as the + * it has to start with "refs/"; is used as the destination literally in this case. - - == and the ref that matched the must not + * == and the ref that matched the must not exist in the set of remote refs; the ref matched locally is used as the name of the destination. +Without '--force', the ref is stored at the remote only if + does not exist, or is a proper subset (i.e. an +ancestor) of . 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 parameter can be prefixed with a plus '+' sign +to disable the fast-forward check only on that ref. + Author ------ @@ -89,4 +107,4 @@ Documentation by Junio C Hamano. GIT --- -Part of the link:git.html[git] suite +Part of the gitlink:git[7] suite