Bir dal üzerinde bir taahhütte bulunmak istiyorum (örneğin ana).pygit2 kullanarak bir görünüm oluşturma
ben pygit2
(pygit2.clone_repository
) kullanılarak depo klon
Ben işlemek için bu çalıştırın:
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])
Ama havuzuna gitmek ve ne zaman git status
çalıştırın:
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: test.txt
değiştirilmiş dosya işlemek ancak taahhüt için eklenecek gibi görünüyor başarılı olamadı. İade edilen Oid'i kullanarak pygit2 deposunda commit niteliğini bulabilirsiniz.
Bir şey mi özledim? Boş bir ağaç yaratıyor ve o zaman koşarsan Gördüğünüz her dosya (sildiğiniz demektir taahhüt için ağaç olarak bu veriyoruz
tree = repository.TreeBuilder().write()
yazarak
Kodunuzu bir yerde bir yerden bahsetmiyorum, belki bir yere belirtmelisiniz? –
Referans değeri 'ref/heads/master' – user1479699
pygit2 için iyi bir dokümantasyon bulmakta zorlanıyorum, bu yüzden sadece tahmin ediyorum: Bazı durum değişiklikleri yaptıktan sonra çeşitli 'write()' yöntemlerini çağırdığınızı görüyorum . Create_commit(), örtülü olarak yazıyor mu yoksa bunu yapmayı mı unutuyorsunuz? –