Wiem, że odpowiedź na to pytanie była już dawno temu, ale po przeczytaniu mogę pomóc w dodaniu przykładów konkretnej komendy gałęzi git svn i powiązać ją z typowym przepływem pracy.
Tak jak odpowiedział Kch, użyj git svn branch
. Oto pełny przykład (zwróć uwagę na -n
test na sucho):
git svn branch -n -m "Branch for authentication bug" auth_bug
Jeśli wszystko pójdzie dobrze, serwer odpowiada następującą odpowiedzią:
Kopiowanie https://scm-server.com/svn/portal/trunk na r8914 na https://scm-server.com/svn/portal/branches/auth_bug ...
I bez -n
przełącznika serwer prawdopodobnie dodaje coś takiego:
Znaleziony możliwy punkt rozgałęzienia: https://scm-server.com/svn/portal/trunk => https://scm-server.com/portal/branches/auth_bug , 8914
Znaleziono oddział nadrzędny: (referencje / piloty / auth_bug)
d731b1fa028d30d685fe260f5bb912cbf59e1971
Podążanie za rodzicem do_switch
Skuteczne śledzenie rodzica r8915 = 6ed10c57afcec62e9077fbeed74a326eaa4863b8
(referencje / piloty / auth_bug)
Najlepsze jest to, że teraz możesz utworzyć oddział lokalny w oparciu o oddział zdalny w następujący sposób:
git checkout -b local/auth_bug auth_bug
Co oznacza: „sprawdź i utwórz lokalną gałąź o nazwie auth_bug
i spraw, aby śledziła gałąź zdalną (ostatni parametr)auth_bug
Test że lokalny oddział działa w tej branży za pomocą zdalnego dcommit
z --dry-run
( -n
):
git svn dcommit -n
A serwer SVN powinien odpowiedzieć nową nazwą oddziału:
Zobowiązanie do https://scm-server.com/svn/portal/branches/auth_bug ...