X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=Documentation%2Fgit-push.txt;h=e5dd4c10662230622299d0a4b2bb2850071be7d8;hb=620bb245b945531bb6e08016d5f28caf9e797786;hp=366c5dbdce69854e7cc1e085cdf53e0e88f7bcb2;hpb=c85d4f166096225fa78a9aec8707c6b834da74cb;p=git.git diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt index 366c5dbdc..e5dd4c106 100644 --- a/Documentation/git-push.txt +++ b/Documentation/git-push.txt @@ -9,7 +9,7 @@ git-push - Update remote refs along with associated objects SYNOPSIS -------- [verse] -'git-push' [--all] [--tags] [--receive-pack=] +'git-push' [--all] [--dry-run] [--tags] [--receive-pack=] [--repo=all] [-f | --force] [-v] [ ...] DESCRIPTION @@ -48,21 +48,23 @@ 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 @@ -80,7 +82,7 @@ the remote repository. -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. @@ -96,7 +98,33 @@ the remote repository. -v:: Run verbosely. -include::urls.txt[] +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 ------