So che questa domanda ha avuto risposta qualche tempo fa, ma dopo averla letta, potrei aiutare ad aggiungere esempi del comando specifico git svn branch e metterlo in relazione con un tipico flusso di lavoro.
Come kch ha risposto, usa git svn branch
. Ecco un esempio completo, (notare che -n
per la prova a secco da testare):
git svn branch -n -m "Branch for authentication bug" auth_bug
Se va bene, il server risponde con una risposta come questa:
Copia di https://scm-server.com/svn/portal/trunk all'indirizzo r8914 su https://scm-server.com/svn/portal/branches/auth_bug ...
E senza lo -n
switch il server probabilmente aggiunge qualcosa come:
Trovato possibile punto di succursale: https://scm-server.com/svn/portal/trunk => https://scm-server.com/portal/branches/auth_bug , 8914
Parent branch trovato: (refs / remotes / auth_bug)
d731b1fa028d30d685fe260f5bb912cbf59e1971
Seguendo il genitore con do_switch
Parent seguito con successo r8915 = 6ed10c57afcec62e9077fbeed74a326eaa4863b8
(Refs / telecomandi / auth_bug)
La parte migliore di esso, ora puoi creare un ramo locale basato sul tuo ramo remoto in questo modo:
git checkout -b local/auth_bug auth_bug
Il che significa "estrarre e creare un ramo locale denominato auth_bug
e farlo seguire al ramo remoto (ultimo parametro)auth_bug
Verifica che il tuo ramo locale funzioni su quel ramo remoto usando dcommit
con --dry-run
( -n
):
git svn dcommit -n
E il server SVN dovrebbe rispondere con il nome della nuova filiale:
Impegnarsi a https://scm-server.com/svn/portal/branches/auth_bug ...