2008-11-05 39 views
190

Bir svn deposunu izleyen bir git depom var. --stdlayout kullanarak klonladım. git-svn: git ile yeni bir svn dalı nasıl oluşturabilirim?

Ben Şimdi bu şube svn deposundaki …/branches/foobar sonuna kadar istiyorum

git checkout -b foobar yoluyla yeni bir yerel şube yarattı.

Bunu nasıl yaparım?

(araştırmacı çok sayıda metin parça alınmıştır. Eğer bakım soru geçmişini bakınız) git V1.6.1 itibariyle

+0

İlgili soru: [git-svn'yi uzak bir depo olarak belirli bir svn dalını nasıl kullanırım?] (Http://stackoverflow.com/questions/192736/how-do-i-make-git-svn-use- a-specific-svn-branch-remote-repository) – sleske

cevap

63

, git svn branch mevcuttur. git Dokümanlar

: GYTE

 
    branch 
     Create a branch in the SVN repository. 

     -m, --message 
      Allows to specify the commit message. 

     -t, --tag 
      Create a tag by using the tags_subdir instead of the branches_subdir 
      specified during git svn init. 

Önceki sürümler bir svn şube oluşturmak için bir yol sağlamaz.

4

Sadece kch (7 Aralık 2008) git v1.6.1-rc1 etiketini derledim ve git svn branch komutunu ve bunun için belgeleri içeriyor. Yani git v1.6.1 sürümü (umarım) bu komutu içermelidir.

+0

gerçekten, şimdi 1.6.1 yükledim ve komut kullanılabilir. cevabımı buna göre güncelledi. – kch

269

Bu sorunun bir süre önce yanıtlandığını biliyorum, ancak okuduktan sonra, belirli git svn branch komutunun örneklerini eklemeye ve tipik bir iş akışıyla ilişkilendirmeye yardımcı olabilirim.

Kch yanıtında olduğu gibi, git svn branch kullanın. https://scm-server.com/svn/portal/branches/auth_bug için r8914 en

kopyalama https://scm-server.com/svn/portal/trunk: Bu iyi giderse

git svn branch -n -m "Branch for authentication bug" auth_bug 

, sunucu böyle cevapla yanıtlar: Burada tam bir örnek, (kuru işletilen test etmek için -n unutmayın). ..

Bulunan olası şube noktası: https://scm-server.com/svn/portal/trunk =>https://scm-server.com/portal/branches/auth_bug, 8914

Bulunan şube veli: (ref/uzaktan kumanda/auth_bug

Ve -n anahtarı olmadan sunucu muhtemelen böyle bir şey ekler

)

d731b1fa028d30d685fe260f5bb912cbf59e1971

do_switch

ile ebeveyn takiben

Başarıyla takip ebeveyn r8915 = 6ed10c57afcec62e9077fbeed74a326eaa4863b8

(ref/uzaktan kumanda/auth_bug)

bunun en iyi parçası, şimdi uzak dayalı bir yerel şube oluşturabilir şöyle şube:

git checkout -b local/auth_bug auth_bug 

anlamına gelen "kontrol ve adlandırılmış auth_bug yerel şube oluşturmak ve bunu yapmak

git svn dcommit -n 

Ve SVN sunucusu yeni şube adı ile cevap olmalıdır: Yerel şube --dry-run ile dcommit kullanarak o uzak dal üzerinde çalışır uzak şube (son parametre) auth_bug

Testi (-n) izleyin:

https://scm-server.com/svn/portal/branches/auth_bug getirileceği belirtilirken ...

+0

"git co", sürümümde çalışmıyor. Bunun yerine "git checkout" kullandım. –

+2

Evet, git co, Jesper'ın bir takma ad oluşturduğu anlamına gelir. –

+3

güncellenmiş ve 'git co' ile' git checkout' değiştirilebildiğinden, bu örnekte herkes için çalışabilir –

İlgili konular