summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2013-04-07 21:32:50 (GMT)
committerJunio C Hamano <gitster@pobox.com>2013-04-07 21:32:50 (GMT)
commit4d35924e3ac2e3022dd7595afe48334e7a794fb4 (patch)
tree39681a136e126cd5025aa78349d9db6d97ccd17f /Documentation
parente64734b6a0ffabdbf027cfee865a6cae567e2199 (diff)
parent9f765ce62fd2d5159a3dc7f73abe30a3fbef08f7 (diff)
downloadgit-4d35924e3ac2e3022dd7595afe48334e7a794fb4.zip
git-4d35924e3ac2e3022dd7595afe48334e7a794fb4.tar.gz
git-4d35924e3ac2e3022dd7595afe48334e7a794fb4.tar.bz2
Merge branch 'rr/triangle'
Support "pull from one place, push to another place" workflow better by introducing remote.pushdefault (overrides the "origin" thing) and branch.*.pushremote (overrides the branch.*.remote). * rr/triangle: remote.c: introduce branch.<name>.pushremote remote.c: introduce remote.pushdefault remote.c: introduce a way to have different remotes for fetch/push t5516 (fetch-push): drop implicit arguments from helper functions t5516 (fetch-push): update test description remote.c: simplify a bit of code using git_config_string()
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/config.txt24
1 files changed, 21 insertions, 3 deletions
diff --git a/Documentation/config.txt b/Documentation/config.txt
index f79184c..3d750e0 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -727,9 +727,22 @@ branch.autosetuprebase::
This option defaults to never.
branch.<name>.remote::
- When in branch <name>, it tells 'git fetch' and 'git push' which
- remote to fetch from/push to. It defaults to `origin` if no remote is
- configured. `origin` is also used if you are not on any branch.
+ When on branch <name>, it tells 'git fetch' and 'git push'
+ which remote to fetch from/push to. The remote to push to
+ may be overridden with `remote.pushdefault` (for all branches).
+ The remote to push to, for the current branch, may be further
+ overridden by `branch.<name>.pushremote`. If no remote is
+ configured, or if you are not on any branch, it defaults to
+ `origin` for fetching and `remote.pushdefault` for pushing.
+
+branch.<name>.pushremote::
+ When on branch <name>, it overrides `branch.<name>.remote` for
+ pushing. It also overrides `remote.pushdefault` for pushing
+ from branch <name>. When you pull from one place (e.g. your
+ upstream) and push to another place (e.g. your own publishing
+ repository), you would want to set `remote.pushdefault` to
+ specify the remote to push to for all branches, and use this
+ option to override it for a specific branch.
branch.<name>.merge::
Defines, together with branch.<name>.remote, the upstream branch
@@ -1898,6 +1911,11 @@ receive.updateserverinfo::
If set to true, git-receive-pack will run git-update-server-info
after receiving data from git-push and updating refs.
+remote.pushdefault::
+ The remote to push to by default. Overrides
+ `branch.<name>.remote` for all branches, and is overridden by
+ `branch.<name>.pushremote` for specific branches.
+
remote.<name>.url::
The URL of a remote repository. See linkgit:git-fetch[1] or
linkgit:git-push[1].