現在の git-repo の変更されたファイルのリストを取得したい。通常、 をChanges not staged for commit:
呼び出したときに下にリストされるファイルgit status
。
これまでのところ、リポジトリに接続し、プルして、追跡されていないすべてのファイルを表示することができました。
from git import Repo
repo = Repo(pk_repo_path)
o = self.repo.remotes.origin
o.pull()[0]
print(repo.untracked_files)
しかし、今は変更がある (コミットされていない) すべてのファイルを表示したいと考えています。誰かが私を正しい方向に押し進めることができますか? のメソッドの名前を見てrepo
、しばらく実験しましたが、正しい解決策が見つかりません。
明らかにrepo.git.status
、ファイルを呼び出して解析することはできますが、それはまったくエレガントではありません。もっと良いものがあるはずです。
編集:今考えてみると。より便利なのは、単一のファイルのステータスを教えてくれる関数です。お気に入り:
print(repo.get_status(path_to_file))
>>untracked
print(repo.get_status(path_to_another_file))
>>not staged