Documentation / git-send-pack.txton commit Merge with gitk (379955c)
   1git-send-pack(1)
   2================
   3v0.1, July 2005
   4
   5NAME
   6----
   7git-send-pack - Push missing objects packed.
   8
   9
  10SYNOPSIS
  11--------
  12'git-send-pack' [--all] [--exec=<git-receive-pack>] [<host>:]<directory> [<head>...]
  13
  14DESCRIPTION
  15-----------
  16Invokes 'git-receive-pack' on a possibly remote repository, and
  17updates it from the current repository, sending named heads.
  18
  19
  20OPTIONS
  21-------
  22--exec=<git-receive-pack>::
  23        Path to the 'git-receive-pack' program on the remote
  24        end.  Sometimes useful when pushing to a remote
  25        repository over ssh, and you do not have the program in
  26        a directory on the default $PATH.
  27
  28--all::
  29        Instead of explicitly specifying which refs to update,
  30        update all refs that locally exist.
  31
  32<host>::
  33        A remote host to house the repository.  When this
  34        part is specified, 'git-receive-pack' is invoked via
  35        ssh.
  36
  37<directory>::
  38        The repository to update.
  39
  40<head>...:
  41        The remote refs to update.
  42
  43
  44Specifying the Refs
  45-------------------
  46
  47There are three ways to specify which refs to update on the
  48remote end.
  49
  50With '--all' flag, all refs that exist locally are transfered to
  51the remote side.  You cannot specify any '<head>' if you use
  52this flag.
  53
  54Without '--all' and without any '<head>', the refs that exist
  55both on the local side and on the remote side are updated.
  56
  57When '<head>'s are specified explicitly, it can be either a
  58single pattern, or a pair of such pattern separated by a colon
  59':' (this means that a ref name cannot have a colon in it).  A
  60single pattern '<name>' is just a shorthand for '<name>:<name>'.
  61Each pattern pair consists of the source side (before the colon)
  62and the destination side (after the colon).  The ref that is
  63pushed is determined by finding a match that matches the source
  64side, and where it is pushed is determined by using the
  65destination side.
  66
  67 - It is an error if <src> does not match exactly one of local
  68   refs.
  69
  70 - It is an error if <dst> matches more than one remote refs.
  71
  72 - If <dst> does not match any remote ref, either
  73
  74   - it has to start with "refs/"; <dst> is used as the
  75     destination literally in this case.
  76
  77   - <src> == <dst> and the ref that matched the <src> must not
  78     exist in the set of remote refs; the ref matched <src>
  79     locally is used as the name of the destination.
  80
  81
  82Author
  83------
  84Written by Linus Torvalds <torvalds@osdl.org>
  85
  86Documentation
  87--------------
  88Documentation by Junio C Hamano.
  89
  90GIT
  91---
  92Part of the link:git.html[git] suite