Si ha creado su filial local antes de que existiera la rama subversión y ahora quiere empujar a su rama local en una rama de la subversión, puede hacer lo siguiente:
Crear la rama SVN de la revisión que creó su rama local
$ svn cp http://svn-repo/my_app/[email protected] http://svn-repo/my_app/branches/feature1
Fetch la nueva rama sVN para que su repositorio git lo sabe
$ git svn fetch
la rama sVN debe ahora se agregará como un control remoto en su git repo
$ git branch -a
* feature1
master
remotes/feature1
En este punto, su control remoto seguirá estando en el maletero. Debe señalar su sucursal local a la nueva sucursal remota. Usted puede hacer esto mediante rebase su sucursal local de la rama remota:
$ git rebase remotes/feature1
Ahora que su rama local se refiere a su oficina remota, puede confirmar los cambios en la misma.En primer lugar hacer un simulacro por lo que se tiene la certeza de que los cambios entrarán en su sucursal remota:
$ git svn dcommit --dry-run
Commiting to http://svn-repo/my_app/branches/feature1
Ahora se puede confirmar cambios a su sucursal remota
$ git svn dcommit
más cómo-tos le dirá a Subversión de rama primero y luego crear una rama local que rastrea la rama remota. Pero a menudo no decido de antemano si mi sucursal local debe rastrear una sucursal remota. A menudo me ramifico localmente y hago cambios sin la intención de empujar a una sucursal remota. Si luego decido comprometer mi sucursal local en una sucursal remota, realizo los pasos anteriores.
Este ** no ** funciona con mi versión git de 1.5.5.6 - no existe tal comando 'git svn branch'. –
'git svn branch' se agregó en v1.6.1. Recomiendo actualizar, ya que 1.5.5.6 tiene aproximadamente un año y medio. – mipadi
cómo usarlo con la etiqueta svn. Creé la etiqueta svn con la etiqueta 'git svn tag -m 'tag description" 0.0.2'. Y ahora me gustaría establecer una etiqueta apropiada en git. ¿Cómo debería hacer esto? Gracias – yas375