X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=Documentation%2Fgit-push.txt;h=4a68aaba342bd1155beb2ae72fd81c701e6c80eb;hb=4356736571c6845cb446e4a7c9d645868e558ca0;hp=197f4b512fbcc969901034e47efa6acefdc5e0ac;hpb=78ba00407cf69c9f57f17e07d156336ce47c2b03;p=git.git diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt index 197f4b512..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] [-f | --force] ... +[verse] +'git-push' [--all] [--dry-run] [--tags] [--receive-pack=] + [--repo=all] [-f | --force] [-v | --verbose] [ ...] DESCRIPTION ----------- @@ -46,34 +48,83 @@ 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. + `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 ------ @@ -87,4 +138,3 @@ Documentation by Junio C Hamano and the git-list . GIT --- Part of the gitlink:git[7] suite -