Mientras trabajaba con git-svn, y un 'típico' svn repo/trunk,/branches/...,/tags/... ¿Cómo presiono una rama local? a una nueva rama dentro de/branches?crear una nueva rama svn con git-svn
5
A
Respuesta
7
Digamos que tenemos un repositorio esqueleto Subversion con vacío trunk/
, branches/
y tags/
:
/tmp$ git svn clone -s file:///tmp/svn-repo/ git-svn-repo Initialized empty Git repository in /tmp/git-svn-repo/.git/ r1 = 80bdcfc0cf248b74b914a1b5f99ab89fb4e31b6c (refs/remotes/trunk) Checked out HEAD: file:///tmp/svn-repo/trunk r1 /tmp$ cd git-svn-repo/ /tmp/git-svn-repo$ git svn branch my-branch Copying file:///tmp/svn-repo/trunk at r1 to file:///tmp/svn-repo/branches/my-branch... Found possible branch point: file:///tmp/svn-repo/trunk => file:///tmp/svn-repo/branches/my-branch, 1 Found branch parent: (refs/remotes/my-branch) 80bdcfc0cf248b74b914a1b5f99ab89fb4e31b6c Following parent with do_switch Successfully followed parent r2 = 56150bbd9d3aec94972ff46d030e30ec726595ab (refs/remotes/my-branch)
La siguiente explicación cambiará de ida y vuelta entre dos vistas del mismo repositorio, una subversión copia de trabajo el repositorio completo (no solo trunk
) y un clon git-svn
. Para mayor claridad, el prefijo de cada solicitud de shell indicará el directorio actual.
En el lado SVN, ahora verá
/tmp/svn-repo-wc$ svn up A branches/my-branch Updated to revision 2.
También verá la nueva rama en el lado git:
/tmp/git-svn-repo$ git branch -r my-branch trunk
a comprometerse con la rama recién creada, primero cambiar a él:
/tmp/git-svn-repo$ git reset --hard remotes/my-branch HEAD is now at 2c9bef2 Create branch my-branch
a continuación, vamos a crear un maniquí git commit
/tmp/git-svn-repo$ touch on-my-branch /tmp/git-svn-repo$ git add on-my-branch /tmp/git-svn-repo$ git commit -m 'First commit to my-branch' [master b94a0eb] First commit to my-branch 0 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 on-my-branch
y finalmente enviarlo a la subversión:
/tmp/git-svn-repo$ git svn dcommit Committing to file:///tmp/svn-repo/branches/my-branch ... A on-my-branch Committed r3 A on-my-branch r3 = d3c5ba3e03e5cdee96f470ff4c9898eb7c523ed8 (refs/remotes/my-branch) No changes between current HEAD and refs/remotes/my-branch Resetting to the latest refs/remotes/my-branch
La subversión de la copia-nos da la confirmación:
/tmp/svn-repo-wc$ svn up A branches/my-branch/on-my-branch Updated to revision 3.
Cuestiones relacionadas
- 1. Git-svn: crear y empujar una nueva rama/etiqueta?
- 2. SVN: mover los cambios pendientes a una nueva rama
- 3. rama SVN de una rama
- 4. crear una rama vacía
- 5. Git: ¿Cómo crear una nueva rama desde una etiqueta?
- 6. ¿Cómo puedo crear una rama en svn usando SharpSVN
- 7. git-svn: ¿cómo creo una nueva rama svn a través de git?
- 8. Subversion confirmando cambios no confirmados en una nueva rama
- 9. git-svn no puede crear una rama para seguir la ramificación de SVN
- 10. ¿Cómo revertir una rama git-svn a SVN HEAD?
- 11. Mover una rama a una nueva etiqueta
- 12. Crear rama SVN desde cambios en el tronco
- 13. Crear rama SVN desde etiqueta específica y fusionar a troncal
- 14. Git: creó una nueva rama de la rama equivocada
- 15. mercurial estableció una rama como la nueva rama predeterminada
- 16. Crear una rama de Git con los cambios actuales
- 17. ¿Cómo creo una rama en SVN?
- 18. SVN - fusiona una rama en otra?
- 19. SVN: copia rama al tronco
- 20. Crear una nueva rama desde el maestro y luego revertir el master a una confirmación determinada
- 21. SVN: Cree una rama desde la rama y fusione con la troncal
- 22. ¿Cómo crear una rama de una revisión anterior con TortoiseSVN?
- 23. tronco en rama con SVN: "Conexión segura truncado"
- 24. Seguir una nueva rama remota creada en GitHub
- 25. Eliminar una rama svn a través de git?
- 26. ¿Cómo crear una nueva carpeta?
- 27. TFS - Crear una rama de la copia de trabajo local
- 28. Git: ¿Cómo pasar de "sin rama" a una nueva rama remota?
- 29. ¿Cómo muevo el contenido de mi rama principal a una nueva rama de Git?
- 30. ¿Es posible en git crear una nueva rama remota vacía sin presionar?
como se especifica en http://stackoverflow.com/questions/266395/ git-svn-how-do-i-create-a-new-svn-branch-via-git Ahora puede cambiar a una rama svn en lugar de hacer el restablecimiento --hard: 'git checkout -b my-local -branch remote-branch' '# edit' 'git commit' ' git svn dcommit' 'git checkout master # para volver a trabajar en el maletero' – jackbravo