Git svn kullanarak bir svn deposuna baktım. Şimdi şubelerden birine bakmam ve izlemem gerekiyor. Bunu yapmanın en iyi yolu hangisidir?
Git svn kullanarak bir svn deposuna baktım. Şimdi şubelerden birine bakmam ve izlemem gerekiyor. Bunu yapmanın en iyi yolu hangisidir?
Yanıtlar:
Subversion bagajınızı, etiketlerinizi ve dallarınızı içeren bir git klonu oluşturun.
git svn klonu http://svn.example.com/proje -T gövde -b şube -t etiketleri
--stdlayout
Senin Subversion deposu tipik yapısını kullanıyorsa seçeneği güzel kısayoludur:
git svn klonu http://svn.example.com/proje --stdlayout
Git deponuzu yıkım deposunun yaptığı her şeyi yok sayın:
git svn show-ignore >> .git / info / exclude
Artık git tarafında tüm Subversion dallarını görebilmelisiniz:
git şube -r
Subversion'daki şubenin adını söyleyin waldo
. Git tarafında, koşarsın
git checkout -b waldo-svn uzaktan kumandalar / waldo
-Svn soneki formdaki uyarıları önlemektir
uyarı: refname 'waldo' belirsiz.
Git dalını güncellemek için waldo-svn
, koşmak
git checkout waldo-svn git svn rebase
Yalnızca gövde klonuna Subversion dalı eklemek için git deponuzu .git/config
içerecek şekilde değiştirin
[svn-remote "svn-mybranch"] url = http://svn.example.com/proje/branches/mybranch fetch =: refs / uzaktan kumandalar / mybranch
Koşma alışkanlığını geliştirmen gerekecek
git svn fetch --fetch-all
tüm git svn
ayrı düşünen şeyleri güncellemek için. Bu noktada, yukarıdaki gibi dallar oluşturabilir ve izleyebilirsiniz. Örneğin, mybranch'a karşılık gelen bir git dalı oluşturmak için çalıştırın
git checkout -b mybranch-svn uzaktan kumandalar / mybranch
İstediğiniz şubeler git svn dcommit
için geçmişlerini doğrusal tutun!
Ayrıca, ilgili bir sorunun yanıtını okumak da ilginizi çekebilir .
--prefix=svn/
yaparken ekleyin git-svn init
veya git-svn clone
) Yerel şubelerinize sonek ekleme ihtiyacını ortadan kaldıracaktır.
show-ignore
Hatalar çıkarsa , deneyingit svn show-ignore -i trunk