2008-12-09 32 views
5

Uzak bir SVN deposunu git svn aracılığıyla izleyen bir yerel git deposum var. Yerel git deposunda bazı değişiklikler yaptım ve işledim, ancak şimdi SVN'de olduğu gibi SVN HEAD'i kodda bazı değişiklikler yapmak için yansıtan bir şube oluşturmak istiyorum çünkü yaymak istemiyorum git master'ımdaki değişiklikler henüz SVN'ye değil. Bu konuda nasıl gidebilirim?Bir git-svn dalını SVN HEAD'e nasıl geri döndürebilirim?

Hemen izleme: SVN HEAD üzerinde değişiklik yapmalı ve bunları değiştirmem gerekecek, ardından bunları git yöneticime geri eklemem gerekecek. Bunun için nasıl giderim? git merge 'svn-edits' dalını master'a mı yoksa git svn rebase mu?

+0

Cidden? Bunu git ve svn ile yapabilirsin !? Yabani !! – Kieveli

+1

Evet, git-svn adlı küçük bir program var (daha fazla bilgi için bkz. Git git-svn), git ve svn'yi (svn git yerel deposu için uzak bir depo olarak) siler. – Loki

cevap

5

Üzerinde çalıştığınız dalın trunk (ben old-trunk olarak adlandırıyorum) olduğunu varsayalım. Basitçe Şimdi real-trunk için değişiklik yapmak orada

git checkout -b real-trunk remotes/trunk 

gelen yeni bir şube oluşturmak ve oradan işlemek. Daha sonra, eski şubenizi yenisiyle yeniden donatın.

git svn dcommit 
git checkout old-trunk 
git rebase real-trunk 

Artık önceki değişiklikleriniz daha önce yaptığınız son değişikliklere dayanmaktadır.

İlgili konular