Code

Recommend to remove unused `origin` in a shared repository.
authorJunio C Hamano <junkio@cox.net>
Sun, 22 Jan 2006 21:32:45 +0000 (13:32 -0800)
committerJunio C Hamano <junkio@cox.net>
Mon, 23 Jan 2006 06:05:54 +0000 (22:05 -0800)
It is a common mistake to leave an unsed `origin` branch behind
if a shared public repository was created by first cloning from
somewhere else.  Subsequent `git push` into it with the default
"push all the matching ref" would push the `origin` branch from
the developer repository uselessly.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Documentation/core-tutorial.txt

index b8fa29992000f3caec5602a98fe74c9938c8f604..35579cc5b0ccaf4eeac8cf134d887ccb5182550b 100644 (file)
@@ -1667,6 +1667,26 @@ complain, telling you that the remote `master` head does not
 fast forward.  You need to pull and merge those other changes
 back before you push your work when it happens.
 
+The `git push` command without any explicit refspec parameter
+pushes the refs that exist both in the local repository and the
+remote repository.  So the last `push` can be done with either
+one of these:
+------------
+$ git push origin
+$ git push repo.shared.xz:/pub/scm/project.git/
+------------
+as long as the shared repository does not have any branches
+other than `master`.
+[NOTE]
+============
+If you created your shared repository by cloning from somewhere
+else, you may have the `origin` branch.  Your developers
+typically do not use that branch; remove it.  Otherwise, that
+would be pushed back by the `git push origin` because your
+developers' repository would surely have `origin` branch to keep
+track of the shared repository, and would be counted as "exist
+on both ends".
+============
 
 Advanced Shared Repository Management
 -------------------------------------