有没有一种方法可以使用GitPython库来确定在上一次推送事件中推送的提交?
我唯一发现的是能够搜索在某个时间范围内进行的提交,但这似乎不是解决这个问题的可靠方法。
UPD我从web挂钩git_previous_commit
和字符串中获得了变量,可以用这种方式进行操作,但我没有得到结果,即已更改文件的路径。
repo = Repo(os.path.dirname(sys.argv[0]))
for commit in repo.iter_commits(rev=f'{git_previous_commit}..HEAD'):
commit_object = repo.commit(commit)
diffs = chain(
commit_object.diff("HEAD").iter_change_type("M"),
commit_object.diff("HEAD").iter_change_type("A"),
)
for diff in diffs:
print(diff.b_path)
没有办法,除非您编写一个钩子来存储每次推送的最后一次提交。