我正在尝试使用pygit2在分支中添加/修改文件,而不检查分支。
author = pygit2.Signature("Alice Author", "alice@authors.tld")
testbranch = r.lookup_branch("testbranch")
r = pygit2.Repository("somedirectory")
oid = r.create_blob("filecontent")
commit = r.revparse_single("testbranch")
bld = r.TreeBuilder(r.revparse_single("testbranch:testdir"))
bld.insert("file", oid, pygit2.GIT_FILEMODE_BLOG)
tree = bld.write()
r.create_commit('refs/heads/testbranch', author, author, 'updated file', tree, [testbranch.target])
代码确实更新了文件,但是提交还删除了所有其他文件。另外,该文件也不再位于testdir中,而是位于git文件夹的根目录中。
我想我必须以某种方式将其他父母添加到create_commit中,并可能以其他方式使用TreeBuilder
?