mirror of
https://github.com/git/git.git
synced 2024-11-24 18:33:43 +08:00
user-manual: more explanation of push and pull usage
Recently a user on the mailing list complained that they'd read the manual but couldn't figure out how to keep a couple private repositories in sync. They'd tried using push, and were surprised by the effect. Add a little text in an attempt to make it clear that: - Pushing to a branch that is checked out will have odd results. - It's OK to synchronize just using pull if that's simpler. Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
This commit is contained in:
parent
f0dc409c31
commit
11d5153344
@ -1772,7 +1772,7 @@ repository, but it works just as well in the other direction.
|
|||||||
|
|
||||||
If you and the maintainer both have accounts on the same machine, then
|
If you and the maintainer both have accounts on the same machine, then
|
||||||
you can just pull changes from each other's repositories directly;
|
you can just pull changes from each other's repositories directly;
|
||||||
commands that accepts repository URLs as arguments will also accept a
|
commands that accept repository URLs as arguments will also accept a
|
||||||
local directory name:
|
local directory name:
|
||||||
|
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
@ -1780,6 +1780,15 @@ $ git clone /path/to/repository
|
|||||||
$ git pull /path/to/other/repository
|
$ git pull /path/to/other/repository
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
|
|
||||||
|
or an ssh url:
|
||||||
|
|
||||||
|
-------------------------------------------------
|
||||||
|
$ git clone ssh://yourhost/~you/repository
|
||||||
|
-------------------------------------------------
|
||||||
|
|
||||||
|
For projects with few developers, or for synchronizing a few private
|
||||||
|
repositories, this may be all you need.
|
||||||
|
|
||||||
However, the more common way to do this is to maintain a separate public
|
However, the more common way to do this is to maintain a separate public
|
||||||
repository (usually on a different host) for others to pull changes
|
repository (usually on a different host) for others to pull changes
|
||||||
from. This is usually more convenient, and allows you to cleanly
|
from. This is usually more convenient, and allows you to cleanly
|
||||||
@ -1802,6 +1811,8 @@ like this:
|
|||||||
| they push V
|
| they push V
|
||||||
their public repo <------------------- their repo
|
their public repo <------------------- their repo
|
||||||
|
|
||||||
|
We explain how to do this in the following sections.
|
||||||
|
|
||||||
[[setting-up-a-public-repository]]
|
[[setting-up-a-public-repository]]
|
||||||
Setting up a public repository
|
Setting up a public repository
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
@ -1913,6 +1924,12 @@ proceeding the branch name by a plus sign:
|
|||||||
$ git push ssh://yourserver.com/~you/proj.git +master
|
$ git push ssh://yourserver.com/~you/proj.git +master
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
|
|
||||||
|
Note that the target of a "push" is normally a
|
||||||
|
<<def_bare_repository,bare>> repository. You can also push to a
|
||||||
|
repository that has a checked-out working tree, but the working tree
|
||||||
|
will not be updated by the push. This may lead to unexpected results if
|
||||||
|
the branch you push to is the currently checked-out branch!
|
||||||
|
|
||||||
As with git-fetch, you may also set up configuration options to
|
As with git-fetch, you may also set up configuration options to
|
||||||
save typing; so, for example, after
|
save typing; so, for example, after
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user