6
我想在分支上進行提交(例如master)。使用pygit2創建提交
我正在使用pygit2
(pygit2.clone_repository
)的倉庫克隆
然後我改變現有的文件在庫中。
後來我運行此做出承諾:
index = repository.index
index.add_all()
index.write()
author = pygit2.Signature(user_name, user_mail)
commiter = pygit2.Signature(user_name, user_mail)
tree = repository.TreeBuilder().write()
oid = repository.create_commit(reference, author, commiter, message,tree,[repository.head.get_object().hex])
但是當我去到倉庫和運行git status
:
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: test.txt
修改後的文件似乎是增加了提交,但提交沒有成功。使用返回的OID,我可以在pygit2存儲庫中找到commit屬性。
我錯過了什麼嗎?
我沒有看到你的代碼提到某處的分支,也許你應該指定某處? – 2015-04-06 10:48:45
引用的值是'ref/heads/master' – user1479699 2015-04-06 10:54:10
我很難爲pygit2找到體面的文檔,所以我只是猜測:我看到在做了一些狀態更改後調用了各種'write()'方法。 'create_commit()'是隱式寫入還是忘記這麼做? – 2015-04-06 10:56:56