JGit PushCommand
bu işlevi (henüz) sunmuyor, ancak --set-upstream
yaptığınız gibi depo yapılandırmasını değiştirebilir. Eğer (soru anlaşılacağı gelen pasajı gibi) setRemote()
uzaktan takma geçerseniz
, bunu böyle ust baş ayarlamalısınız:
StoredConfig config = git.getRepository().getConfig();
config.setString(CONFIG_BRANCH_SECTION, "local-branch", "remote", "remote-alias-name");
config.setString(CONFIG_BRANCH_SECTION, "local-branch", "merge", "refs/heads/name-of-branch-on-remote");
config.save();
Bu, bu yapılandırma bölümünde sonuçlanacaktır
[branch "local-branch"]
remote = remote-alias-name
merge = refs/heads/name-of-branch-on-remote
uzaktan (henüz yapılandırılmamış değilse yani hiçbir bölüm [remote "remote-alias-name"]
, ayrıca böyle bir bölüm oluşturmak zorunda kalacak olan Örneğin, örneğin:.
config.setString(CONFIG_REMOTE_SECTION, "remote-alias-name", "url", "url-of-remote");
config.setString(CONFIG_REMOTE_SECTION, "remote-alias-name", "fetch", "ref-spec");
Sabitler ConfigConstants
sınıfında tanımlanmıştır.
İyi çalışıyor, teşekkürler. Şimdi uzak şubeyi belirtmeden bir getirme yapabilirim. Ama ben git dalı -vv yaptığım zaman neden izlenen şube bilgileri yok anlamıyorum. Neden biliyor musun ? Belki de izlenen bilgi gitconfig dosyasına kaydedilir. – ascott
"CreateBranchCommand" ve dal başlangıç noktası olan bir şube oluşturursanız, yeni dalın başlangıç noktasını "setUpstreamMode()" ile takip etmesi gerekip gerekmediğini belirtebilirsiniz. senin sorunun cevabı bu mu? –
Sonunda sorun yok, benim hatamdı! Uzaktan kumandayı yapılandırdığımda remoteConfig.addFetchRefSpec'i çağırmayı unuttum, bu yüzden git dalı -vv adını verdiğimde, izlenen dalı bana göstermedi ... Cevabınız için teşekkürler mükemmeldi. – ascott