Subject: Re: Difficulties using git rebase. Help, please!

From: Alan Mackenzie <[email-masked]>
Date: Mon, 12 Jan 2026 15:45:28 +0000

Hello again, Git.

On Sun, Jan 11, 2026 at 15:46:13 +0000, Alan Mackenzie wrote:
> Hello, Git.

> Some while ago I made some amendments to the Linux kernel for my own use
> (at least).  I now want to rebase these changes onto the master branch of
> the Linux Stable repository.

> When I wrote the changes, I based them off branch linux-6.13.y.  The
> command I tried to rebase with was, with PWD being the pertinent copy of
> the Linux repository:

>     $ git rebase --onto master origin/linux-6.13.y HEAD

> ..  This didn't work well.  In particular, I got a conflict in a file that
> I had never changed.  Why?

> Well, I corrected the conflicts in that file, git add'ed it, git rebase
> --continue'd, then got another conflict in a file I'd never touched.
> Same again.  After the third such conflict, I gave up with git rebase
> --abort.

> Criticism: there doesn't appear to be a --dry-run option in git rebase,
> with which one can see how many files will be conflicted.  Instead they
> are notified one at a time, drip, drip, drip, .... to the user.  In my
> case there might have been four conflicted files, there might have been a
> thousand.  Either I'm missing something, or git rebase is missing
> something, hopefully the former.

> Incidentally, when I do git status, I get as part of the output:

>     Your branch is ahead of 'origin/linux-6.13.y' by 2012 commits.

> ..  I haven't done 2012 git commits in my life.  What does this number
> 2012 mean?

> So, back to git rebase.  Would somebody please explain why I am seeing
> these conflicts at all?  Please also help me make progress.  I'm stuck.

> Thanks!

I've had a most helpful reply by private email that suggested I try:

    git log --oneline origin/linux-6.13.y..HEAD | wc -l

..  This gave 2012, the number of commits git status says I'm ahead of
that branch by.

On removing the | wc -l from the command line, I see all these 2012
commits summarised.  It turns out, just the top eight were mine,
followed by

    733381204a86 Linux 6.13.3-rc1

..  So if I delimit the commits to apply using 733381204a86 rather than
origin/linux-6.13.y, the rebasing should work.  So I tried:

    $ git rebase --onto master 733381204a86 HEAD

, which now gives me conflicts just in my own commits.  Success!  I now
have the arduous task of resolving all these conflicts.  The diff I'm
working with is around 3400 lines long.  ;-(

So many thanks to my helper.  Why don't you say who you are and collect
the credit you seem to be due?

-- 
Alan Mackenzie (Nuremberg, Germany).