未提交的dirs与pygit2提交

时间:2013-04-17 09:44:52

标签: python git libgit2 pygit2

我正在使用pygit2

开发非裸存储库
index = repo.index
index.read()

# write in test/test.txt

index.add('test/test.txt')
treeid = index.write_tree()

repo.create_commit(
    'HEAD',
    author, committer,
    'test commit',
    treeid,
    [repo.head.oid]
)

这是成功的,但当我执行git status时,我得到了这个:

# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   deleted:    test/test.txt
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   test/

git reset --hard之后,一切都已修复。

有没有办法用pygit正确更新索引?

1 个答案:

答案 0 :(得分:6)

你只是从你的内存索引中写出一个树,并保持光盘上的索引不被修改,所以在提交后它处于你做任何事之前的状态。

如果您希望将更改存储在光盘上,则需要写出索引(index.write())。