git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: How to merge from newer branch to older branches?

From
Jeff King <peff@peff.net>
Date
Apr 22, 2009, 20:15 UTC
Message-ID
<20090422201541.GC14146@coredump.intra.peff.net>
In-Reply-To
<2729632a0904221044q20e6cabau7dd06b3020a8ce49@mail.gmail.com>
On Wed, Apr 22, 2009 at 10:44:06AM -0700, skillzero@gmail.com wrote:
Show 9 quoted lines
> Then I rebased feature:
> 
> git rebase --onto merge-base-of-1.1-and-master feature-before-first feature
>
> [...]
> 
> I can merge 'feature' into 1.1, 1.2, etc. then theoretically, I should
> be able to apply bug fixes to 'feature' later and re-merge into 1.1,
> 1.2, etc. to pick up just the bug fixes, right?
Exactly.
> It seems like this merge conflict is going to cause problems if I try
> to re-merge to pick up a bug fix to 'feature' in the future. Looking
> at the documentation, it sounds like 'git rerere' can help by
> re-applying the manual conflict resolution I did?

It shouldn't. Remember that your merges into 1.1, 1.2, etc, created a new merge base. So when you have bug fixes to make to this topic, you don't put them on the "feature" branch, but onto this topic branch. Then you re-merge the topic branch into 1.1., 1.2, feature, etc, and it will look only at the new bugfix.

> BTW...Is there a way to find the first commit of a branch? I had to
> just look at the log manually to see what I remembered to be the first
> commit.

Sort of. Branches in git are really just refs pointing to the tip of the branch. So once the tip advances, the ref no longer remembers "oh, this is where I branched from". If there are other commits along the thing you branched off of, you can calculate the merge-base of the thing you branched from, and your branch.

However, the first entry in the reflog for that branch ref should indicate branch creation (unless it is so old that it has expired). Something like:

  $ git branch foo origin/master
  $ git reflog show foo
  0be9bc0 foo@{0}: branch: Created from origin/master

So 0be9bc0 would be the creation point in this case. But you might have totally rewritten the branch after that point, so 0be9bc0 might not be a useful value anymore.

-Peff
Previous: skillzero@gmail.comNext: skillzero@gmail.com
Message 6 of 9 in “How to merge from newer branch to older branches?”
  1. skillzero@gmail.comApr 21, 2009
  2. Jeff KingApr 21, 2009
  3. Junio C HamanoApr 22, 2009
  4. Jeff KingApr 22, 2009
  5. skillzero@gmail.comApr 22, 2009
  6. Jeff KingApr 22, 2009
  7. skillzero@gmail.comApr 22, 2009
  8. Jeff KingApr 22, 2009
  9. John M. DlugoszApr 22, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.