2014-09-05 40 views

回答

2

您是否试过以下命令?

git branch -a --merged my-feature 

将打印所有分支(本地或远程)的尖部的是由(即祖先)的my-feature尖端可到达的列表。如果您只对本地分支机构感兴趣,则可以删除-a选项。

举个例子,如果你的仓库看起来如下

A -- B [branch1] 
     \ 
     C -- D -- E [origin/HEAD=origin/branch2] 
     \   \ 
     \   H -- I [HEAD=branch4] 
      \ 
      F -- G [branch3] 

运行

git branch -a --merged branch4 

将打印

* branch4 
remotes/origin/HEAD -> origin/branch2 
remotes/origin/branch2 
branch1 
  • 为什么branch4?因为branch4从本身可以轻易到达。
  • 为什么remotes/origin/HEADremotes/origin/branch2?因为他们都指出(间接和直接)分别承诺E,这是branch4的提示的祖先,提交I
  • 为什么branch1?因为它指向提交B,这是承诺I的祖先。
  • 为什么不是branch3?因为它指向提交G,这是而不是承诺I的祖先。