X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=Documentation%2Fgit-push.txt;h=4a68aaba342bd1155beb2ae72fd81c701e6c80eb;hb=4356736571c6845cb446e4a7c9d645868e558ca0;hp=56afd64f42784457d73463ab9bea196264a3296b;hpb=868227b0d1f3a295ea9afe7a3be3a1fbdff62442;p=git.git diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt index 56afd64f4..4a68aaba3 100644 --- a/Documentation/git-push.txt +++ b/Documentation/git-push.txt @@ -8,7 +8,9 @@ git-push - Update remote refs along with associated objects SYNOPSIS -------- -'git-push' [--all] [--tags] [--force] ... +[verse] +'git-push' [--all] [--dry-run] [--tags] [--receive-pack=] + [--repo=all] [-f | --force] [-v | --verbose] [ ...] DESCRIPTION ----------- @@ -46,36 +48,88 @@ even if it does not result in a fast forward update. Note: If no explicit refspec is found, (that is neither on the command line nor in any Push line of the corresponding remotes file---see below), then all the -refs that exist both on the local side and on the remote +heads that exist both on the local side and on the remote side are updated. + -Some short-cut notations are also supported. +`tag ` means the same as `refs/tags/:refs/tags/`. + -* `tag ` means the same as `refs/tags/:refs/tags/`. -* A parameter without a colon is equivalent to - `:`, hence updates in the destination from - in the source. +A parameter without a colon pushes the from the source +repository to the destination repository under the same name. ++ +Pushing an empty allows you to delete the ref from +the remote repository. \--all:: Instead of naming each ref to push, specifies that all - refs be pushed. + refs under `$GIT_DIR/refs/heads/` be pushed. + +\--dry-run:: + Do everything except actually send the updates. \--tags:: All refs under `$GIT_DIR/refs/tags` are pushed, in addition to refspecs explicitly listed on the command line. +\--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. + +\--exec=:: + Same as \--receive-pack=. + -f, \--force:: Usually, the command refuses to update a remote ref that is - not a descendant of the local ref used to overwrite it. + not an ancestor of the local ref used to overwrite it. This flag disables the check. This can cause the remote repository to lose commits; use it with care. -include::urls.txt[] +\--repo=:: + When no repository is specified the command defaults to + "origin"; this overrides it. + +\--thin, \--no-thin:: + These options are passed to `git-send-pack`. Thin + transfer spends extra cycles to minimize the number of + objects to be sent and meant to be used on slower connection. + +-v, \--verbose:: + Run verbosely. + +include::urls-remotes.txt[] + + +Examples +-------- + +git push origin master:: + Find a ref that matches `master` in the source repository + (most likely, it would find `refs/heads/master`), and update + the same ref (e.g. `refs/heads/master`) in `origin` repository + with it. + +git push origin :experimental:: + Find a ref that matches `experimental` in the `origin` repository + (e.g. `refs/heads/experimental`), and delete it. + +git push origin master:satellite/master:: + Find a ref that matches `master` in the source repository + (most likely, it would find `refs/heads/master`), and update + the ref that matches `satellite/master` (most likely, it would + be `refs/remotes/satellite/master`) in `origin` repository with it. + +git push origin master:refs/heads/experimental:: + Create the branch `experimental` in the `origin` repository + by copying the current `master` branch. This form is usually + needed to create a new branch in the remote repository as + there is no `experimental` branch to match. Author ------ -Written by Junio C Hamano +Written by Junio C Hamano , later rewritten in C +by Linus Torvalds Documentation -------------- @@ -84,4 +138,3 @@ Documentation by Junio C Hamano and the git-list . GIT --- Part of the gitlink:git[7] suite -