Python PyGit2-TreeBuilder.insert('name',blobid,GIT_FILEMODE_BLOB)vs index.add('path/to/file')?

Python PyGit2-TreeBuilder.insert('name',blobid,GIT_FILEMODE_BLOB)vs index.add('path/to/file')?,python,git,repository,pygit2,Python,Git,Repository,Pygit2,我对如何开始使用PyGit2有点困惑 将文件添加到新创建的回购协议时,是否应将其添加到 index.add'path/to/file' 或者我最好创建一个TreeBuilder并使用 tb.insert'name',oid,GIT\u FILEMODE\u BLOB以添加新内容 如果是第二种情况,我很难理解如何创建提交到新创建的repo所需的树对象 有人吗?假设您的pygit2.存储库名为repo,请尝试: Python控制台上的helppygit2.TreeBuilder提供了更多方便的信息。

我对如何开始使用PyGit2有点困惑

将文件添加到新创建的回购协议时,是否应将其添加到 index.add'path/to/file' 或者我最好创建一个TreeBuilder并使用 tb.insert'name',oid,GIT\u FILEMODE\u BLOB以添加新内容

如果是第二种情况,我很难理解如何创建提交到新创建的repo所需的树对象

有人吗?

假设您的pygit2.存储库名为repo,请尝试:

Python控制台上的helppygit2.TreeBuilder提供了更多方便的信息。

您可以采用任何一种方法。 我发现index.add方法很简单

您可以使用Repository.status作为字典获取要添加或删除到索引中的所有文件。字典包含文件名作为键,文件状态作为值。根据状态值,需要使用index.removefilename从索引中删除已删除的文件。 使用index.Write_tree将此索引写入内存中的树,该树将返回要在Repository.commit中使用的树id。 但是,要将更改保存到磁盘,请同时使用index.write

t_builder = repo.TreeBuilder()