git-http-push.txt 2.9 KB

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