0

GitPython を使用してリポジトリのインデックスを取得するにはどうすればよいですか?

import git

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

スロー エラー: 'Repo' オブジェクトに属性 'index' がありません

え?トリアーのチュートリアルを何度も読んでいるせいで、私の目は血まみれです。手がかりはありますか?

4

1 に答える 1

2

ここには 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 に答える