JGit

2014-07-22 14 views
8

ile Git deposundan belirli bir revizyona göz atın Bir depoyu klonlamak ve belirli bir işlemi kontrol etmek için jGit kullanmaya çalışıyorum. İşlem hashının varsayarsak: 1e9ae842ca94f326215358917c620ac407323c81.JGit

Benim ilk adımdır: nasıl bir araya ikisini bağlamak için

git.checkout(). 
       setCreateBranch(true). 
       setName("branchName"). 
       setUpstreamMode(CreateBranchCommand.SetupUpstreamMode.TRACK). 
       setStartPoint("origin/" + branchName). 
       call(); 

Ama emin değilim:

// Cloning the repository 
    Git.cloneRepository() 
     .setURI(remotePath) 
     .setDirectory(localPath) 
     .call(); 

Sonra bu yaklaşımı önerdi başka bir soru bulundu?

Herhangi bir düşünce?

Git.cloneRepository().setURI(remotePath).setDirectory(localPath).call(); 

sadece böyle checkout çağırabilir bir onun kimliği tarafından taahhüt ödeme için::

, böylece ilk adım, doğru Önce depoyu klonlamak zorunda kalacak

cevap

14

oldu

git.checkout().setName("<id-to-commit>").call(); 

Ama Bunun detached HEAD ile sonuçlanacağını unutmayın. Bundan kaçınmak için, önce bu şubeye işaret eden ve daha sonra bu şubeyi işaret eden yeni bir şube oluşturmak için checkout'a söyleyebilirsiniz.

git.checkout().setCreateBranch(true).setName("new-branch").setStartPoint("<id-to-commit>").call(); 

API çok sezgisel değil, ama gerekeni yapıyor.

+1

Teşekkürler, bu sadece ihtiyacım olan şey! – MrD