Список файлов, которые изменились с момента последней фиксации с помощью 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)    

person Cmag    schedule 22.01.2016    source источник


Ответы (1)


Вам нужно передать аргумент ключевого слова name_only — он будет автоматически использоваться как параметр командной строки --name-only при выполнении команды git.

Следующее является эквивалентом git diff --name-only HEAD~1..HEAD:

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