Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 1 | git-http-push(1) |
| 2 | ================ |
| 3 | |
| 4 | NAME |
| 5 | ---- |
Junio C Hamano | 7c73c66 | 2007-01-19 00:37:50 | [diff] [blame] | 6 | git-http-push - Push objects over HTTP/DAV to another repository |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 7 | |
| 8 | |
| 9 | SYNOPSIS |
| 10 | -------- |
Junio C Hamano | 15567bc | 2011-07-23 00:51:59 | [diff] [blame] | 11 | [verse] |
Junio C Hamano | fce7c7e | 2008-07-02 03:06:38 | [diff] [blame] | 12 | 'git http-push' [--all] [--dry-run] [--force] [--verbose] <url> <ref> [<ref>...] |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 13 | |
| 14 | DESCRIPTION |
| 15 | ----------- |
| 16 | Sends missing objects to remote repository, and updates the |
| 17 | remote branch. |
| 18 | |
Junio C Hamano | d47c7c2 | 2008-06-16 01:52:47 | [diff] [blame] | 19 | *NOTE*: This command is temporarily disabled if your libcurl |
| 20 | is older than 7.16, as the combination has been reported |
Junio C Hamano | ebc53dc | 2008-01-24 07:28:49 | [diff] [blame] | 21 | not to work and sometimes corrupts repository. |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 22 | |
| 23 | OPTIONS |
| 24 | ------- |
Junio C Hamano | 9882a52 | 2007-04-27 08:22:22 | [diff] [blame] | 25 | --all:: |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 26 | Do not assume that the remote repository is complete in its |
| 27 | current state, and verify all objects in the entire local |
| 28 | ref's history exist in the remote repository. |
| 29 | |
| 30 | --force:: |
| 31 | Usually, the command refuses to update a remote ref that |
| 32 | is not an ancestor of the local ref used to overwrite it. |
| 33 | This flag disables the check. What this means is that |
| 34 | the remote repository can lose commits; use it with |
| 35 | care. |
| 36 | |
Junio C Hamano | c2b4709 | 2007-10-25 06:50:31 | [diff] [blame] | 37 | --dry-run:: |
| 38 | Do everything except actually send the updates. |
| 39 | |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 40 | --verbose:: |
| 41 | Report the list of objects being walked locally and the |
| 42 | list of objects successfully sent to the remote repository. |
| 43 | |
Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 44 | -d:: |
| 45 | -D:: |
Junio C Hamano | 9882a52 | 2007-04-27 08:22:22 | [diff] [blame] | 46 | Remove <ref> from remote repository. The specified branch |
| 47 | cannot be the remote HEAD. If -d is specified the following |
| 48 | other conditions must also be met: |
| 49 | |
| 50 | - Remote HEAD must resolve to an object that exists locally |
| 51 | - Specified branch resolves to an object that exists locally |
| 52 | - Specified branch is an ancestor of the remote HEAD |
| 53 | |
Junio C Hamano | 21c0b42 | 2006-10-12 19:10:36 | [diff] [blame] | 54 | <ref>...:: |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 55 | The remote refs to update. |
| 56 | |
| 57 | |
| 58 | Specifying the Refs |
| 59 | ------------------- |
| 60 | |
| 61 | A '<ref>' specification can be either a single pattern, or a pair |
| 62 | of such patterns separated by a colon ":" (this means that a ref name |
Junio C Hamano | a77a513 | 2007-06-08 16:13:44 | [diff] [blame] | 63 | cannot have a colon in it). A single pattern '<name>' is just a |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 64 | shorthand for '<name>:<name>'. |
| 65 | |
| 66 | Each pattern pair consists of the source side (before the colon) |
| 67 | and the destination side (after the colon). The ref to be |
| 68 | pushed is determined by finding a match that matches the source |
| 69 | side, and where it is pushed is determined by using the |
| 70 | destination side. |
| 71 | |
| 72 | - It is an error if <src> does not match exactly one of the |
| 73 | local refs. |
| 74 | |
| 75 | - If <dst> does not match any remote ref, either |
| 76 | |
| 77 | * it has to start with "refs/"; <dst> is used as the |
| 78 | destination literally in this case. |
| 79 | |
| 80 | * <src> == <dst> and the ref that matched the <src> must not |
| 81 | exist in the set of remote refs; the ref matched <src> |
| 82 | locally is used as the name of the destination. |
| 83 | |
| 84 | Without '--force', the <src> ref is stored at the remote only if |
| 85 | <dst> does not exist, or <dst> is a proper subset (i.e. an |
Junio C Hamano | 3f680f3 | 2009-11-16 02:10:54 | [diff] [blame] | 86 | ancestor) of <src>. This check, known as "fast-forward check", |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 87 | is performed in order to avoid accidentally overwriting the |
| 88 | remote ref and lose other peoples' commits from there. |
| 89 | |
Junio C Hamano | 3f680f3 | 2009-11-16 02:10:54 | [diff] [blame] | 90 | With '--force', the fast-forward check is disabled for all refs. |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 91 | |
| 92 | Optionally, a <ref> parameter can be prefixed with a plus '+' sign |
| 93 | to disable the fast-forward check only on that ref. |
| 94 | |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 95 | GIT |
| 96 | --- |
Junio C Hamano | f7c042d | 2008-06-06 22:50:53 | [diff] [blame] | 97 | Part of the linkgit:git[1] suite |