我正在尝试更新一个 Python 脚本,该脚本检查少数本地存储库的状态,从使用subprocess到使用GitPython。GitPython for中的等效命令是git remote show origin
什么,或者检查本地存储库是否可快速转发或过时(等)的更好方法是什么?
$ git remote show origin
* remote origin
Fetch URL: <url>
Push URL: <url>
HEAD branch: master
Remote branches:
XYZ tracked
master tracked
Local branches configured for 'git pull':
XYZ merges with remote XYZ
master merges with remote master
Local refs configured for 'git push':
XYZ pushes to XYZ (up to date)
master pushes to master (up to date)
最后两行是我最关心的。通过迭代和比较(等)哈希值,看起来这可能通过GitPython实现。这似乎比上面的单个本地 git 命令要做更多的工作,并且需要更多的工作来判断哪一侧已经过时。我期待类似的东西。在GitPython中确定这一点的正确方法是什么?git.Repo.heads
git.Repo.remotes.origin.refs
.master.commit
git.Repo.remotes.origin.status()