¿Cómo hago que git-svn use una rama svn particular como repositorio remoto?
-
08-07-2019 - |
Pregunta
Una palabra de advertencia: soy un n00b para git
en general. Mi equipo usa ramas de características en svn
, y me gustaría usar git-svn
para rastrear mi trabajo en una rama de características en particular. He estado (aproximadamente) siguiendo publicación de Andy Delcambre para configurar mi repositorio git
local, pero esas instrucciones parecen haber llevado a git
a elegir la rama svn
que había cambiado más recientemente como control remoto repositorio; El problema es que esa no es la rama que me importa. ¿Cómo controlo qué rama usa git-svn
? ¿O me estoy acercando a esto completamente mal?
ACTUALIZACIÓN: utilicé las opciones -T
, -b
y -t
(en mi caso porque el svn
repo tiene múltiples proyectos, pero quiero que el repositorio git
contenga solo el proyecto en el que estoy trabajando).
Solución
Muchas gracias al blog de Bart por esta práctica referencia para sucursales svn en git . Aparentemente, todo lo que necesitaba era especificar una rama remota al crear la rama git
, por ejemplo,
git checkout -b git-topic-branch-foo foo
donde foo
es el nombre de la rama remota.
Otros consejos
También puede echar un vistazo a esto: git-svn es una droga de entrada - robby on rails .
Usé algo como esto cuando necesitaba asegurarme de que mi rama local apuntaba a la rama svn remota correcta:
git branch -r
para obtener el nombre de la rama remota que quiero rastrear. Entonces
git reset --hard remotes/svn-branch-name
para cambiar explícitamente mi rama local para que apunte a una rama remota diferente.
Primero necesitaba ejecutar 'git svn fetch', ya que la rama con la que quería asociarme se había creado después de mi cliente git.
Uso git-svn pero no he usado las funciones que interoperan con las ramas SVN. Dicho esto, me doy cuenta de que el tutorial que estaba siguiendo no utilizaba el -T, -b , -t opciones para git svn init. Estas opciones le dicen a git-svn cómo se llaman los directorios de tronco / ramas / etiquetas ascendentes, lo que podría ser importante en su situación.