On Tue, Jan 8, 2019 at 12:47 PM Markus Wiederkehr <markus.wiederkehr@xxxxxxxxx> wrote: > > On Tue, Jan 8, 2019 at 6:43 PM Andreas Schwab <schwab@xxxxxxxxxxxxxx> wrote: > > > > On Jan 08 2019, Markus Wiederkehr <markus.wiederkehr@xxxxxxxxx> wrote: > > > > > Would it be possible to retain this information? > > > > You could use the reflog of the current branch, where it is the second > > entry. > > It is not, depending on what happens in the rebase it could be any > entry. That's why I always have to search for the right one, which is > tedious. > > Example: > > $ git rebase -i root-tag > ... (apply one fixup) > $ git reflog > 906caf1c (HEAD -> master) HEAD@{0}: rebase -i (finish): returning to > refs/heads/master > 4906caf1c (HEAD -> master) HEAD@{1}: rebase -i (pick): qux > 85dab37b4 HEAD@{2}: rebase -i (pick): baz > 7de7420d2 HEAD@{3}: rebase -i (fixup): bar > 9bc0461c0 HEAD@{4}: rebase -i (start): checkout root-tag > a150b73ca HEAD@{5}: commit: foo > > Here I have to use HEAD@{5}. > He meant using: $ git reflog master which only shows changes directly to the master ref, not to HEAD. During a git rebase operations don't modify the master ref until after the rebase finishes. This, of course, assumes you're on a branch. If so, you should even be able to use master@{1} and be safe in assuming it always refers to what the branch was before the rebase started. Thanks, Jake