Re: Using two-dot range notation in `git rebase`?
- From
Daniel Knittl-Frank <knittl89@googlemail.com>
- Date
- Jul 28, 2021, 16:33 UTC
- Message-ID
- <CACx-yZ1Je+tnZdJ21gDPeuQa-QTuY2t9mDujNr7wqJWFMwwzxA@mail.gmail.com>
- In-Reply-To
- <b3b5f044-8c76-ec71-45d6-1c7fea93c519@iee.email>
Hi Philip,
git log upstream..HEAD
gives you all commits reachable from "HEAD", but not reachable from "upstream". If you want to rebase this range and copy it onto newbase, you'd run
git rebase --onto newbase upstream
This will take the commits upstream..HEAD (the HEAD argument is implicit), and you end up with
newbase-.....-HEAD
containing all commits from (the previous) "HEAD" up to (but excluding) "upstream". If "newbase" and "upstream" are identical, the command can be simplified to `git rebase newbase`.
Maybe I'm misunderstanding the problem? Can you give an example of `git rebase --onto newbase upstream branch` not working as expected?
Regards Daniel
On Wed, Jul 28, 2021 at 5:38 PM Philip Oakley <philipoakley@iee.email> wrote:
Show 21 quoted lines
> > Is there a reasonable way to use the two-dot range notation in git > rebase, particularly in an --onto situation? > > In my case I have a short series that depends on both some existing Git > for Windows (GfW) patches (`main` branch), and some patches now in > `git/master`. I'm now able to rebase it onto the GfW `shears/master` > branch which contains both sets of patches (and one that was in the last > git release). > > It felt that it ought to be possible to use a simple two dot range to > extract my series, rather than identifying the individual end points in > a similar manner to that used in the description"set of commits .. shown > by `git log <upstream>..HEAD`". > > Or is this something that could be a project? > -- > > Philip > >
-- typed with http://neo-layout.org