0

到底如何使用 GitPython 获得存储库的索引?

import git

repo = git.Repo.init('/path/to/repos/')
... add some files ...
... commit ...
index = repo.index()

抛出错误:“回购”对象没有属性“索引”

什么?由于一遍又一遍地阅读 Trier 教程,我的眼睛流血了。有线索吗?

4

1 回答 1

2

这里有两个问题。首先,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)}

另一种可能性是您的代码中的某些内容正在掩盖该属性。如果您可以发布其他人可以运行的实际可运行代码示例,这将有助于缩小问题范围。

于 2014-01-20T02:42:13.170 回答