Re: rebase problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Op 17-3-2012 15:31, Joakim Tjernlund schreef:
Vincent van Ravesteijn<vfr@xxxxxxx>  wrote on 2012/03/17 14:30:42:
Op 17-3-2012 13:57, Joakim Tjernlund schreef:
A co-worker this on our local u-boot repo:
    git checkout master
    git fetch denx/master
    git merge denx/master
<resolve conflicts>
    git commit
    ...
    git commit
Now u-boot is working again
then update to latest u-boot so:
    git fetch denx/master
    git rebase denx/master
Now it is a mess, that rebase seems to start from way back as a
staring reference, not from the last merge shown above.
I guess I forgotten how git works, what did go wrong?

    Jocke

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html
The situation is like this:

   master - C - o - o - D - o - o - o - A
                       /
   denx/master- - - - o - o - o - o - B

Now, you ask to rebase master (A) onto denx/master (B). If master would
have started from D, it would indeed apply the commits D -- A on top of
B. In your case, however, master already had a lot of commits that were
not in denx/master: C -- D  (including the merge resolution). So it will
also apply C -- D on top of  B.
Thanks, this makes sense. How do I get from above to

    master - C - o - o - D - o - o - o - A
                        /
    denx/master- - o - B


Jocke

Don't you just want to merge with denx/master again ?

   master - C - o - o - D - o - o - o - A
                       /               /
   denx/master- - o - o - o - o - o - B


In this way you pull in the new commits from denx/master.

Of course you can rework your history such to obtain what you drew above, but this means you need to rewrite some of the history, which you probably don't want to do if you share this code with colleagues. But well, if you really want:

git checkout D~1
git merge B
git rebase --onto HEAD D master

Vincent
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]