Список файлов, которые были изменены с момента последнего коммита с помощью GitPython
Мне нужно, чтобы Python script читал файлы, которые были изменены с момента последнего Git commit. Используя 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)
Ответы
Ответ 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)