Sprawdziłem repozytorium svn za pomocą git svn. Teraz muszę sprawdzić jedną z gałęzi i ją śledzić. Jaki jest najlepszy sposób, aby to zrobić?
Sprawdziłem repozytorium svn za pomocą git svn. Teraz muszę sprawdzić jedną z gałęzi i ją śledzić. Jaki jest najlepszy sposób, aby to zrobić?
Odpowiedzi:
Utwórz klon git, który zawiera pień Subversion, tagi i gałęzie za pomocą
git svn clone http://svn.example.com/project -T trunk -b oddziały -t tagi
--stdlayout
Opcja jest ładny skrót jeśli repozytorium Subversion wykorzystuje typową strukturę:
git svn clone http://svn.example.com/project --stdlayout
Spraw, aby repozytorium git ignorowało wszystko, co robi repozytorium subversion:
git svn show-ignore >> .git / info / exclude
Powinieneś teraz widzieć wszystkie gałęzie Subversion po stronie git:
gałąź git -r
Powiedz, że nazwa gałęzi w Subversion to waldo
. Po stronie gita będziesz biec
git checkout -b waldo-svn piloty / waldo
Sufiks -svn ma na celu uniknięcie ostrzeżeń w formularzu
ostrzeżenie: zmiana nazwy „waldo” jest niejednoznaczna.
Aby zaktualizować gałąź git waldo-svn
, uruchom
git checkout waldo-svn git svn rebase
Aby dodać gałąź Subversion do klonu tylko pnia, zmodyfikuj, .git/config
aby zawierało repozytorium git
[svn-remote "svn-mybranch"] url = http://svn.example.com/project/branches/mybranch fetch =: referencje / piloty / mybranch
Musisz rozwinąć nawyk biegania
git svn fetch --fetch-all
zaktualizować wszystkie opinie, które git svn
są osobnymi pilotami. W tym momencie możesz tworzyć i śledzić gałęzie jak wyżej. Na przykład, aby utworzyć gałąź git, która odpowiada mybranch, uruchom
git checkout -b mybranch-svn piloty / mybranch
W przypadku gałęzi, z których zamierzasz git svn dcommit
, trzymaj ich historie liniowe!
Możesz być także zainteresowany przeczytaniem odpowiedzi na powiązane pytanie .
--prefix=svn/
podczas wykonywania git-svn init
lub git-svn clone
) Eliminuje to potrzebę dodawania sufiksu do lokalnych oddziałów.
show-ignore
błędy znikną, spróbujgit svn show-ignore -i trunk