我从python开始尝试使用GitPython,我拼命地尝试使用这个模块。
我在许多网站上看到文档很差,我遵循的示例似乎不起作用。
我在Windows(2012 / Python 3.5)上尝试过这个:
# -*-coding:Latin-1 -*
from git import *
path = ('C:\\Users\\me\\Documents\\Repos\\integration')
repo = Repo(path)
assert repo.bare == False
repo.commits()
os.system("pause")
这在Linux(Debian / Python 2.7)上:
from git import Repo
repo = Repo('/home/git/repos/target_repos')
assert repo.bare == False
repo.commits ()
但无论如何,我没有结果......并完成了这个错误:
Traceback (most recent call last):
File "gitrepo.py", line 6, in <module>
repo.commits ()
AttributeError: 'Repo' object has no attribute 'commits'
在这两个案例中。
我的问题如下:
目标是将来使用python管理git,以及集成的其他东西。
感谢您的回答。
答案 0 :(得分:4)
该模块工作正常,您没有正确使用它。
如果要访问git存储库中的提交,请使用Repo.iter_commits()
。您尝试使用的方法commits()
并不存在于GitPython.Repo
中。您可以查看官方模块文档here以获取所有支持的操作和属性。
请参阅下面的工作示例
from git import Repo, Commit
path = "test_repository"
repo = Repo(path)
for commit in repo.iter_commits():
print "Author: ", commit.author
print "Summary: ", commit.summary
这显示了存储库中每个提交的作者和摘要。
查看Commit
对象的文档以了解操作并访问其携带的其他信息(例如提交哈希,日期等)。