Re: Question about "git pull --rebase"
- From
- Francis Moreau <francis.moro@gmail.com>
- Date
- Nov 15, 2009, 14:31 UTC
- Message-ID
- <m2r5rzoo5x.fsf@gmail.com>
- In-Reply-To
- <20091115081649.6117@nanako3.lavabit.com>
Nanako Shiraishi <nanako3@lavabit.com> writes:
Show 32 quoted lines
> Quoting Francis Moreau <francis.moro@gmail.com> > >> Let's say I'm on a branch called 'foo'. >> ... >> $ git pull --rebase origin master:foo > > With this command line, you are asking: > > 1) Please first fetch master from origin and update the local > 'foo' with it, but please fail if this doesn't fast forward; > > 2) If the first step was successful, please rebase the current > branch on top of that commit. > > If your current branch 'foo' doesn't fast forward, the first step > should fail, and that is the failure you saw. > > Your request doesn't make any sense. The first step would succeed > only when your 'foo' doesn't have anything to replay on 'master' > from origin, and the second step either isn't executed (when 'foo' > has some commits), or it doesn't do anything (when 'foo' doesn't > have any commit). > >> $ git pull --rebase origin master > > With this command line, you are asking: > > 1) Please first fetch master from origin, but don't store it anywhere; > > 2) Then on top of that fetched commit, please rebase the current branch. > > That is a much saner request.
I see thanks.
Actually I've been confused by the following part of the git-pull man page:
A parameter <ref> without a colon is equivalent to <ref>: when
pulling/fetching, so it merges <ref> into the current branch without
storing the remote branch anywhere locallySo it sounds that both of the pull commands were equivalent whereas they're not.
-- Francis