You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
3.1 KiB
111 lines
3.1 KiB
git-send-pack(1) |
|
================ |
|
v0.1, July 2005 |
|
|
|
NAME |
|
---- |
|
git-send-pack - Push missing objects packed. |
|
|
|
|
|
SYNOPSIS |
|
-------- |
|
'git-send-pack' [--all] [--force] [--exec=<git-receive-pack>] [<host>:]<directory> [<ref>...] |
|
|
|
DESCRIPTION |
|
----------- |
|
Invokes 'git-receive-pack' on a possibly remote repository, and |
|
updates it from the current repository, sending named refs. |
|
|
|
|
|
OPTIONS |
|
------- |
|
--exec=<git-receive-pack>:: |
|
Path to the 'git-receive-pack' program on the remote |
|
end. Sometimes useful when pushing to a remote |
|
repository over ssh, and you do not have the program in |
|
a directory on the default $PATH. |
|
|
|
--all:: |
|
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. |
|
|
|
<host>:: |
|
A remote host to house the repository. When this |
|
part is specified, 'git-receive-pack' is invoked via |
|
ssh. |
|
|
|
<directory>:: |
|
The repository to update. |
|
|
|
<ref>...: |
|
The remote refs to update. |
|
|
|
|
|
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 '<ref>' if you use |
|
this flag. |
|
|
|
Without '--all' and without any '<ref>', the refs that exist |
|
both on the local side and on the remote side are updated. |
|
|
|
When '<ref>'s 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 |
|
single pattern '<name>' is just a shorthand for '<name>:<name>'. |
|
|
|
Each pattern pair consists of the source side (before the colon) |
|
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 <src> does not match exactly one of the |
|
local refs. |
|
|
|
- It is an error if <dst> matches more than one remote refs. |
|
|
|
- If <dst> does not match any remote ref, either |
|
|
|
- it has to start with "refs/"; <dst> is used as the |
|
destination literally in this case. |
|
|
|
- <src> == <dst> and the ref that matched the <src> must not |
|
exist in the set of remote refs; the ref matched <src> |
|
locally is used as the name of the destination. |
|
|
|
Without '--force', the <src> ref is stored at the remote only if |
|
<dst> does not exist, or <dst> is a proper subset (i.e. an |
|
ancestor) of <src>. 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 <ref> parameter can be prefixed with a plus '+' sign |
|
to disable the fast-forward check only on that ref. |
|
|
|
|
|
Author |
|
------ |
|
Written by Linus Torvalds <torvalds@osdl.org> |
|
|
|
Documentation |
|
-------------- |
|
Documentation by Junio C Hamano. |
|
|
|
GIT |
|
--- |
|
Part of the link:git.html[git] suite
|
|
|