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

Cma*_*mag 22 python git gitpython

我需要在自上次Git提交以来已更改的文件中读取Python脚本.使用GitPython,我如何获得与从cli运行相同的输出:

$ git diff --name-only HEAD~1 HEAD
Run Code Online (Sandbox Code Playgroud)

我可以做类似下面的事情,但是,我只需要文件名:

hcommit = repo.head.commit
for diff_added in hcommit.diff('HEAD~1').iter_change_type('A'):
    print(diff_added)    
Run Code Online (Sandbox Code Playgroud)

ale*_*cxe 18

您需要传递name_only关键字参数 - --name-only当发出git命令时,它将自动用作命令行选项.

以下是相当于git diff --name-only HEAD~1..HEAD:

diff = repo.git.diff('HEAD~1..HEAD', name_only=True)
print(diff)
Run Code Online (Sandbox Code Playgroud)