Skip to contentSkip to conversation

How do I get the name of the parent branch?

DISCUSSION Bruce Korb 2 participants 2 messages Jun 15, 2016

lore
Share & tools
lore

Bruce Korb

author
#0 lore raw

Google results point to how to get to commits that have gone into parent branches, but fundamentally I just want to have a script that constructs a diff of what has changed since the latest branch without having to do manual research to figure out the name.

As best as I can tell, you use:

   git format-patch -o pdir --ignore-if-in-upstream $branch

the hard part seems to be (but ought not be) figuring out the value for "$branch".

#1 lore raw
Quoted 11 lines · Bruce Korb

Google results point to how to get to commits that have gone into parent branches, but fundamentally I just want to have a script that constructs a diff of what has changed since the latest branch without having to do manual research to figure out the name.

As best as I can tell, you use:

  git format-patch -o pdir --ignore-if-in-upstream $branch

the hard part seems to be (but ought not be) figuring out the value for "$branch".

Depending upon how you created the currently checked out branch, git recorded the parent (which is usually referred to as the "upstream" branch these days) in .git/config, and you can get this information thusly:

  $ git rev-parse --abbrev-ref @{upstream}

(But you should not be afraid to look at .git/config and see where this information is recorded. Look for a section named [branch "$branch].)

Of course, you can use @{upstream} directly:

  $ git log @{u}..  # @{u} is a synonym for @{upstream}
  $ git diff @{u}

j.