我需要检查我感兴趣的分支是否合并到另一个分支。
使用gitpython
,我可以使用它的git命令对象,如:
import git
g = git.Git('/path/to/git/repo')
g.branch("--no-merged", "master")
Out[273]: u'* new\n test'
所以它输出正确的分支,但格式化返回是不太好的。现在我需要解析字符串并找到我感兴趣的分支。
我在想是否可以使用以下方法完成同样的事情:
repo = git.Repo('/path/to/git/repo')
# Check branches using `repo` object as starting point?
使用repo
对象,有许多有用的方法可以检索已经解析为对象的有用信息,但我没有找到如何对repo
对象做同样的事情(如果可能的话)在所有?)。
答案 0 :(得分:0)
我猜合并分支在另一个(master
)分支上提前0提交。
from git import Repo
branch_name = 'is-this-branch-merged'
repo = Repo('.')
commits_ahead = repo.iter_commits('origin/master..%s' % branch_name)
commits_ahead_count = sum(1 for c in commits_ahead)
is_merged = (commits_ahead_count == 0)
很想知道一个更好的版本,你可以找到所有已经合并的版本。很容易分支。