如何使用GitPython获取回购的索引?
import git
repo = git.Repo.init('/path/to/repos/')
... add some files ...
... commit ...
index = repo.index()
抛出错误:'Repo'对象没有属性'index'
WTH?从阅读特里尔教程一遍又一遍地快速地看到我的眼睛是血腥的。 有线索吗?
答案 0 :(得分:1)
这里有两个问题。首先,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)}
另一种可能性是代码中的某些内容掩盖了该属性。如果您可以发布其他人可以运行的实际 runnable 代码示例,这将有助于缩小问题范围。