Wednesday, February 9, 2011

Find out which remote branch a local branch is tracking

How can I find out which remote branch a local branch is tracking?

Do I need to parse git config output, or is there a command that would do this for me?

  • git branch -r will list the remote-tracking branches. I use an alias gb that passes -av options. This shows the local and remote branches along with the most recent commit for each branch.

    alias gb='git branch -av'
    

    Your remote-tracking branches will be prefixed with their remote alias name (e.g. "origin/")

  • I use EasyGit (a.k.a. "eg") as a super lightweight wrapper on top of (or along side of) Git. EasyGit has an "info" subcommand that gives you all kinds of super useful information, including the current branches remote tracking branch. Here's an example (where the current branch name is "foo"):

    pknotz@s883422: (foo) ~/workspace/bd
    $ eg info
    Total commits:      175
    Local repository: .git
    Named remote repositories: (name -> location)
      origin -> git://sahp7577/home/pknotz/bd.git
    Current branch: foo
      Cryptographic checksum (sha1sum): bd248d1de7d759eb48e8b5ff3bfb3bb0eca4c5bf
      Default pull/push repository: origin
      Default pull/push options:
        branch.foo.remote = origin
        branch.foo.merge = refs/heads/aal_devel_1
      Number of contributors:        3
      Number of files:       28
      Number of directories:       20
      Biggest file size, in bytes: 32473 (pygooglechart-0.2.0/COPYING)
      Commits:       62
    
    From Pat Notz

0 comments:

Post a Comment