Checkout rama remota usando git svn


He comprobado un repositorio svn usando git svn. Ahora necesito revisar una de las sucursales y rastrearla. ¿Cuál es la mejor manera de hacerlo?

 175
Author: markovuksanovic, 2010-07-13

1 answers

Disposición estándar de Subversion

Cree un clon de git que incluya su tronco de Subversion, etiquetas y ramas con

git svn clone http://svn.example.com/project -T trunk -b branches -t tags

La opción --stdlayout es un buen atajo si su repositorio Subversion usa la estructura típica:

git svn clone http://svn.example.com/project --stdlayout

Haga que su repositorio git ignore todo lo que hace el repositorio de subversion:

git svn show-ignore >> .git/info/exclude

Ahora debería ser capaz de ver todas las ramas de Subversion en el lado de git:

git branch -r

Digamos que el nombre de la rama en Subversion es waldo. En el lado de git, ejecutarías

git checkout -b waldo-svn remotes/waldo

El sufijo-svn es para evitar advertencias de la forma

warning: refname 'waldo' is ambiguous.

Para actualizar la rama de git waldo-svn, ejecute

git checkout waldo-svn
git svn rebase

A partir de un checkout solo para troncales

Para agregar una rama de Subversion a un clon de solo tronco, modifique el repositorio de git .git/config para contener

[svn-remote "svn-mybranch"]
        url = http://svn.example.com/project/branches/mybranch
        fetch = :refs/remotes/mybranch

Tendrás Que desarrollar el hábito de correr

git svn fetch --fetch-all

Para actualizar todo lo que git svn piensa que son controles remotos separados. En este punto, usted puede crear y realizar un seguimiento de las ramas como se indica anteriormente. Por ejemplo, para crear una rama de git que corresponda a mybranch, ejecute

git checkout -b mybranch-svn remotes/mybranch

Para las ramas de las que pretende git svn dcommit, mantener sus historias lineales!


Más información

También puede interesarle leer una respuesta a una pregunta relacionada.

 331
Author: Greg Bacon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:32:31