subprocessの使用からGitPythonの使用まで、リモートに対して少数のローカル リポジトリのステータスをチェックする Python スクリプトを更新しようとしています。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)
最後の 2 行は、私の主な関心事です。これは、 GitPythonを使用して、ハッシュの反復git.Repo.heads
とgit.Repo.remotes.origin.refs
比較.master.commit
(など)を行うことで可能になるようです。これは、上記の単一のネイティブ git コマンドよりもかなり多くの作業のように思われ、どちらの側が古いかを判断するにはさらに多くの作業が必要になります。のようなものを期待していましたgit.Repo.remotes.origin.status()
。GitPythonでこれを判断する適切な方法は何ですか?