Re: git push [rejected] question
- From
Jeff King <peff@peff.net>
- Date
- Feb 19, 2008, 15:08 UTC
- Message-ID
- <20080219150826.GA24499@sigill.intra.peff.net>
- In-Reply-To
- <76718490802190509k20225092o66853916f48e08b1@mail.gmail.com>
On Tue, Feb 19, 2008 at 08:09:36AM -0500, Jay Soffian wrote:
Show 13 quoted lines
> 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