threads / discuss / 30795

how to know this commit is merged by whic commit

Subject: how to know this commit is merged by whic commit

## tl;dr

3 messages between Jun 13, 2012 and Jun 13, 2012.

replies: 2people: 3as markdown or json

lei yang· Jun 13, 2012, 16:50 UTC · lore
Hi list

I have a question as the title indicate. assume the commmit id is ee5r3343. how to know this commit is merged by which commit?

Thanks Lei

Jeff King· Jun 13, 2012, 21:34 UTC · re: lei yang · lore

Re: how to know this commit is merged by whic commit

On Thu, Jun 14, 2012 at 12:50:59AM +0800, lei yang wrote:
> I have a question as the title indicate. assume the commmit id is
> ee5r3343. how to know this commit is merged by  which commit?

There is not one answer to "which commit"; there may be an infinite number of commits which merge it into something else. The best you can do is start at some point (e.g., the tip of "master") and walk backwards looking for commits which merge it (and you still may find multiple, if the commit was merged into two other lines of development, each of which was merged into your starting point). There is not an option to do this search automatically, so you would have to use grep, like:

  git log --format='%H %P' |
  grep " $commit" |
  cut -d' ' -f1

which will list the id of all commits (%H) for which $commit appears in the list of parents (%P).

-Peff
PS You didn't give any background on your problem, but you may also find
   "git tag --contains" and "git branch --contains" useful.
Junio C Hamano· Jun 13, 2012, 22:22 UTC · re: Jeff King · lore

Re: how to know this commit is merged by whic commit

Jeff King <peff@peff.net> writes:
Show 12 quoted lines
> On Thu, Jun 14, 2012 at 12:50:59AM +0800, lei yang wrote:
>
>> I have a question as the title indicate. assume the commmit id is
>> ee5r3343. how to know this commit is merged by  which commit?
>
> There is not one answer to "which commit"; there may be an infinite
> number of commits which merge it into something else. The best you can
> do is start at some point (e.g., the tip of "master") and walk backwards
> looking for commits which merge it (and you still may find multiple, if
> the commit was merged into two other lines of development, each of which
> was merged into your starting point). There is not an option to do this
> search automatically, so you would have to use grep, like:
Or you can use "git bisect" ;-).

← back to recent threads