threads / discuss / 42458

[feature request] find git commit log before rebase

Subject: [feature request] find git commit log before rebase

## tl;dr

3 messages between May 26, 2016 and May 27, 2016.

replies: 2people: 2as markdown or json

ryenus· May 26, 2016, 16:55 UTC · lore

Assuming I have branches master (m), and a side branch (b), with a history tree like below:

m0 --- m1 -- m2 -- m3 -- m4 --- master (m)
        \          /      \
        b1 ------ b2       b3 -- b4 -- branch (b) (HEAD)
                  |
      (tag:POINT_BEFORE_REBASE)
The history of branch b is can be described as:
1. branch b is forked at point of m1
2. branch b is merged to master into m3,
3. branch b then is rebased (fast-forward) from b2 to m4
4. then branch b started its new life as b3 b4 after rebase
With the following command: I can find b3 and b4 since last fork-point
    git log --oneline $(git merge-base --fork-point master)..b

But how to find out commits b1 b2, given the fact that b2 is the point before rebase?

I understand it can be achieved via:
    git log --oneline m2..b2

That's because I know b2 is the point before rebase, and m2 is another child of the subsequent merge commit m3

I wonder how to do this with an simple (enough) command without me looking through the history and find b2 and m2 manually?

Thanks!
Sebastian Staudt· May 26, 2016, 20:37 UTC · re: ryenus · lore

Re: [feature request] find git commit log before rebase

Hi.
I think what you want is `git reflog` (http://git-scm.com/man/reflog).
git reflog b
Will tell you the commits b pointed to in the past.
Best regards,
    Sebastian
2016-05-26 18:55 GMT+02:00 ryenus <ryenus@gmail.com>:
Show 38 quoted lines
> Assuming I have branches master (m), and a side branch (b), with a
> history tree like below:
>
> m0 --- m1 -- m2 -- m3 -- m4 --- master (m)
>         \          /      \
>         b1 ------ b2       b3 -- b4 -- branch (b) (HEAD)
>                   |
>       (tag:POINT_BEFORE_REBASE)
>
> The history of branch b is can be described as:
>
> 1. branch b is forked at point of m1
> 2. branch b is merged to master into m3,
> 3. branch b then is rebased (fast-forward) from b2 to m4
> 4. then branch b started its new life as b3 b4 after rebase
>
> With the following command: I can find b3 and b4 since last fork-point
>
>     git log --oneline $(git merge-base --fork-point master)..b
>
> But how to find out commits b1 b2, given the fact that b2 is the point
> before rebase?
>
> I understand it can be achieved via:
>
>     git log --oneline m2..b2
>
> That's because I know b2 is the point before rebase,
> and m2 is another child of the subsequent merge commit m3
>
> I wonder how to do this with an simple (enough) command without me
> looking through the history and find b2 and m2 manually?
>
> Thanks!
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
ryenus· May 27, 2016, 02:57 UTC · lore

Re: [feature request] find git commit log before rebase

Indeed, specifying the branch name does the trick and this works with `git reflog` and/or `git log --walk-reflogs`

Thank you very much!
On 27 May 2016 at 01:58, Sebastian Staudt <koraktor@gmail.com> wrote:
Show 50 quoted lines
> Hi.
>
> I think what you want is `git reflog` (http://git-scm.com/man/reflog).
>
> git reflog b
>
> Will tell you the commits b pointed to in the past.
>
> Best regards,
> Sebastian
> ryenus <ryenus@gmail.com> schrieb am Do., 26. Mai 2016 um 19:03:
>>
>> Assuming I have branches master (m), and a side branch (b), with a
>> history tree like below:
>>
>> m0 --- m1 -- m2 -- m3 -- m4 --- master (m)
>>         \          /      \
>>         b1 ------ b2       b3 -- b4 -- branch (b) (HEAD)
>>                   |
>>       (tag:POINT_BEFORE_REBASE)
>>
>> The history of branch b is can be described as:
>>
>> 1. branch b is forked at point of m1
>> 2. branch b is merged to master into m3,
>> 3. branch b then is rebased (fast-forward) from b2 to m4
>> 4. then branch b started its new life as b3 b4 after rebase
>>
>> With the following command: I can find b3 and b4 since last fork-point
>>
>>     git log --oneline $(git merge-base --fork-point master)..b
>>
>> But how to find out commits b1 b2, given the fact that b2 is the point
>> before rebase?
>>
>> I understand it can be achieved via:
>>
>>     git log --oneline m2..b2
>>
>> That's because I know b2 is the point before rebase,
>> and m2 is another child of the subsequent merge commit m3
>>
>> I wonder how to do this with an simple (enough) command without me
>> looking through the history and find b2 and m2 manually?
>>
>> Thanks!
>> --
>> To unsubscribe from this list: send the line "unsubscribe git" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html

← back to recent threads