【发布时间】:2019-08-06 04:16:01
【问题描述】:
import git
repo = git.Repo(repo_dir)
ref_name = 'master'
for commit in repo.iter_commits(rev=ref_name):
<some code here>
此代码遍历所有提交。我想迭代 b/w 2 提交。
就像git log commit1...commit2
如何使用 GitPython 的 iter_commits() 方法来做同样的事情。
【问题讨论】:
-
但是您知道在终端上执行
git命令的代码吗?如果是,您可以使用subprocess创建一个函数。然后就可以调用函数运行git命令了。 -
是的,我能做到。但我不想走那条路。我想使用这个 GitPython Lib
-
gitpython.readthedocs.io/en/stable/… 。从
Commit.iter_items()接受修订说明符,我相信修订范围也是其中的一部分。只要通过'commit1...commit2'就可以了。 -
如果你的问题完全是关于“我如何在 gitpython 中做 X 事情”,那么 gitpython 标签是合适的,但其他标签都不合适,因为你会得到像来自 @ 的答案优素福。请注意,commit 是关于数据库事务,而不是关于 Git 提交。
标签: python git loops commit gitpython