web-dev-qa-db-ja.com

GitPythonでの最後のコミット以降に変更されたファイルを一覧表示します

前回のGitコミット以降に変更されたファイルにPythonスクリプトを読み込む必要があります。 GitPython を使用して、cliから実行した場合と同じ出力を取得するにはどうすればよいですか? :

$ git diff --name-only HEAD~1 HEAD

私は次のようなことをすることができます、しかし、私はファイル名だけを必要とします:

hcommit = repo.head.commit
for diff_added in hcommit.diff('HEAD~1').iter_change_type('A'):
    print(diff_added)    
22
Cmag

name_onlyキーワード引数を渡す必要があります。これはgitコマンドが発行されるときに--name-onlyコマンドラインオプションとして自動的に使用されます。

以下はgit diff --name-only HEAD~1..HEADに相当します。

diff = repo.git.diff('HEAD~1..HEAD', name_only=True)
print(diff)
18
alecxe