GitPython:检索特定子目录中提交之间更改的文件

GitPython: retrieve changed files between commits in specific sub directory

回购结构如下所示:

- folder_a
- folder_b
- folder_c
- ...

我对在特定提交中更改的文件特别感兴趣,但只对 folder_a 中的文件感兴趣。我的解决方案是

for filename, details in commit.stats.files.items():
  if not filename.startswith('folder_a'):
     continue
  # ...

但如果其他文件夹中有大量文件,则性能似乎不太好。有没有更好的方法可以跳过我不关心的文件?

如果我理解正确的话:您想要统计来自提交的修改,仅针对一个特定的子文件夹。

使用普通 git :

git show [commit] --stat folder_a

将准确显示您想要的内容。

看看你的 python 脚本中的 git.show('<commit identifier>', '--stat', 'folder_a'); returns。