On Tue, Feb 19, 2008 at 08:09:36AM -0500, Jay Soffian wrote: > git-push(1) is a bit confusing I think: > > "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 heads that exist both on the local side and on the remote side are > updated." > > is clear enough, but then: > > "--all Instead of naming each ref to push, specifies that all refs under > $GIT_DIR/refs/heads/ be pushed." > > So what is '--all' needed for then? In the first case we push "matching" refs: any head which already exists on both sides. In the second case, we push all heads which exist on the sending send, whether or not a matching ref already exists on the remote side. I think the first statement could be made to emphasize the matching aspect a little more, since a quick read makes it seem like it's pushing the union of the two sets, not the intersection of the two sets. > It seems like the default should be to push just the current branch > ... this would correspond to what a user of git pull expects (even > though the converse of git-push is really git-fetch, for a new user, > that might not be entirely clear). I agree with you, but others do not; this has come up several times in the past (there was some discussion a week or two ago in the thread "Minor annoyance with git push"). -Peff - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html