GitPython列出特定文件的所有提交

时间:2016-09-27 11:30:20

标签: python git gitpython

我正在编写一个Python脚本,我需要知道特定文件的所有提交。在我的代码中,我使用GitPython进行其他任务,但是对于这个问题,我找不到任何东西。

在cmd行中我使用:

git log --pretty='%H' file-path

2 个答案:

答案 0 :(得分:1)

我们在Git中寻找的是:

git log --follow filename

不确定GitPython是否拥有它。

答案 1 :(得分:1)

您可以查询您克隆的'repo'上的提交:

commits = repo.iter_commits('--all', max_count=100, since='10.days.ago', paths=path)

...其中'-all'将返回所有分支和标签的提交,而path是您的文件名。

要使用提交,请执行以下操作:

for commit in commits:
  print("Committed by %s on %s with sha %s" % (commit.committer.name, time.strftime("%a, %d %b %Y %H:%M", time.localtime(commit.committed_date)), commit.hexsha))