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