9

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.headsgit.Repo.remotes.origin.refs比較.master.commit(など)を行うことで可能になるようです。これは、上記の単一のネイティブ git コマンドよりもかなり多くの作業のように思われ、どちらの側が古いかを判断するにはさらに多くの作業が必要になります。のようなものを期待していましたgit.Repo.remotes.origin.status()GitPythonでこれを判断する適切な方法は何ですか?

4

2 に答える 2