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

Re: git merge after git cherry-pick?

From
Jakub Narebski <jnareb@gmail.com>
Date
Jul 23, 2008, 17:56 UTC
Message-ID
<m3y73sv60v.fsf@localhost.localdomain>
In-Reply-To
<48876709.3090504@sneakemail.com>
"Peter Valdemar Mørch (Lists)"    <4ux6as402@sneakemail.com> writes:
Show 11 quoted lines
> On a branch, b, made off of master, I've made the commits b1, b2, b3
> and b4.
> 
> Back on master, I need commit b1 and b3 immediately. So I:
> 
> $ git checkout master
> $ git cherry-pick "b1's SHA"
> $ git cherry-pick "b3's SHA"
> 
> Now, both b and master contain b1 and b3. How do I now create a log of
> "what remains to be merged from b to master", i.e. only b2 and b4?

You can use "git cherry master b" command (or just "git cherry master" if you are on branch 'b') to check which commits (based on patch id) on branch 'b are already present on branch 'master'.

Alternatively you can use "git log --left-right master...b" to check which comits are on which branch, although I think it wouldn't mark duplicated commits.

Show 9 quoted lines
> And how do I merge b2 and b4 to master, so master's log shows b1,
> b3, b2 and b4 and doesn't show b1 and b3 twice, which is what I get
> if I:
> 
> $ git merge b
> 
> after the cherry-picks above. Also I noticed, that if I merge master
> into b (to keep up-to-date with master) b1 and b3 are also mentioned
> twice.

You can instead of merging branch 'b' into master rebase it on top of master.

This would create instead of the following history (for merge):
   ---*---b1'---b3'--------------M         <-- master
       \                        /
        \-b1----b2----b3----b4-/           <-- b
the following
   ---*---b1'---b3'---b1'---b4'            <-- master, b
       .                        
        ..b1....b2....b3....b4             <.. b@{1} (reflog)         
[cut]
HTH
-- 
Jakub Narebski
Poland
ShadeHawk on #git
Previous: Peter Valdemar Mørch (Lists)
Message 4 of 4 in “git merge after git cherry-pick?”
  1. Peter Valdemar Mørch (Lists)Jul 23, 2008
  2. SZEDER GáborJul 23, 2008
  3. Peter Valdemar Mørch (Lists)Jul 23, 2008
  4. Jakub NarebskiJul 23, 2008

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.