我正在使用 GitPython 查找特定时间段内更改的文件(例如现在和 1 周前):
repo = Repo(self.repo_directory)
for item in repo.head.commit.diff('develop@{1 weeks ago}'):
print ("smth")
但是即使将周数更改为不同的数字也没有任何 react ,这意味着在该时间段内没有检测到差异。如果我将
'develop@{1 weeks ago}'
更改为 'HEAD@{1 weeks ago}'
,那么更改的数量很大,这在一周内是不正确的。任何帮助表示赞赏。 最佳答案
develop@{1 weeks ago}
将使用 reflog
这意味着您的本地 Git 存储库一周前可能没有在本地记录对 develop
的任何操作,而它却记录了“HEAD”发生的任何事情。
如果开发被远程更改,然后其历史记录在本地导入,develop@{1 weeks ago}
可能不会产生任何结果(因为您的本地 reflog 不会引用它)。
只有 git log --since/--until
可以在任何日期运行(不仅仅是记录在 reflog 中的那些,它们仅限于本地操作,并且默认为 90 天)
但我不知道 GitPython 是否实现了这一点。
它的 git.refs.log
模块更多地基于 reflogs 条目,这对您的情况没有帮助。
关于python - GitPython中当前日期和前一段时间之间的git diff,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59385544/