到底如何使用 GitPython 获得存储库的索引?
import git
repo = git.Repo.init('/path/to/repos/')
... add some files ...
... commit ...
index = repo.index()
抛出错误:“回购”对象没有属性“索引”
什么?由于一遍又一遍地阅读 Trier 教程,我的眼睛流血了。有线索吗?
这里有两个问题。首先,index
不是方法,它是一个IndexFile
对象。其次,我想知道您是否没有使用当前版本的 GitPython。
如果我开始:
$ virtualenv stacktest
$ ./stacktext/bin/pip install GitPython
$ ./stackext/bin/python
Python 2.7.5 (default, Nov 12 2013, 16:18:42)
[GCC 4.8.2 20131017 (Red Hat 4.8.2-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import git
>>> repo = git.Repo.init('/home/username/projects/myproject')
>>> repo.index
<git.index.base.IndexFile object at 0x1213a48>
>>> repo.index.entries
{('README.md', 0): (100644, 515cbd1e78aa13ec91941eaa63ecec89d5e4b947, 0, README.md), ('setup.py', 0): (100644, 7497e295447af70a6865b7313bfb2f86ba6577d6, 0, setup.py)}
另一种可能性是您的代码中的某些内容正在掩盖该属性。如果您可以发布其他人可以运行的实际可运行代码示例,这将有助于缩小问题范围。