使用git status
我可以获得有关未发布提交计数的信息:
» git status
# On branch master
# Your branch is ahead of 'origin/master' by 2 commits.
# (use "git push" to publish your local commits)
#
nothing to commit, working directory clean
我想通过GitPython获取未发布的提交(或计数)。我发现文档repo.git.status()
,但这不是我想要的。
答案 0 :(得分:8)
您正在寻找的命令是:
repo.iter_commits('BRANCH..BRANCH@{u}')
或者如果您希望将其作为列表:
list(repo.iter_commits('BRANCH..BRANCH@{u}'))
BRANCH@{u}
语法指的是BRANCH
的上游分支。
答案 1 :(得分:1)
感谢@Chronial 和@Clare-Macrae 的反馈
使用 gitPython
==3.1.11
,我是这样做的:
branch = self.repo.active_branch
unpushed_symbol = '⇡' if list(self.repo.iter_commits(f'{branch}@{{u}}..{branch}')) else constants.NOTHING
unpulled_symbol = '⇣' if list(self.repo.iter_commits(f'{branch}..{branch}@{{u}}')) else constants.NOTHING