列出自上次使用 GitPython 提交以来更改的文件

List file that have changed since last commit with GitPython

我需要让 Python 脚本读入自上次 Git 提交后更改的文件。使用 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)    

您需要传递 name_only 关键字参数 - 它会在发出 git 命令时自动用作 --name-only command-line 选项。

以下等价于git diff --name-only HEAD~1..HEAD

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