¿Cómo puedo crear una rama en SVN?
¿Cómo puedo crear una rama en SVN?
9 answers
La ramificación en Subversion es facilitada por una instalación de copia muy ligera y eficiente.
La ramificación y el etiquetado son efectivamente lo mismo. Simplemente copie una carpeta completa en el repositorio a otro lugar en el repositorio usando el comando svn copy
.
Básicamente esto significa que es por convención lo que significa copiar una carpeta, ya sea una copia de seguridad, una etiqueta, una rama o lo que sea. Dependiendo de cómo quieras pensar las cosas (normalmente dependiendo de la herramienta SCM que tengas utilizado en el pasado) necesita configurar una estructura de carpetas dentro de su repositorio para soportar su estilo.
Los estilos comunes son tener un montón de carpetas en la parte superior de su repositorio llamado tags
, branches
, trunk
, etc. - que le permite copiar todo su trunk
(o subconjuntos) en las carpetas tags
y/o branches
. Si tiene más de un proyecto, es posible que desee replicar este tipo de estructura bajo cada proyecto:
Puede llevar un tiempo acostumbrarse al concepto, pero funciona - solo asegúrese de que usted (y su equipo) son claros en las convenciones que va a utilizar. También es una buena idea tener una buena convención de nomenclatura-algo que le diga por qué se creó la rama/etiqueta y si todavía es apropiada-considerar formas de archivar ramas que son obsoletas.
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
2018-07-02 18:44:15
Crea una nueva rama usando el comando svn copy
de la siguiente manera:
$ svn copy svn+ssh://host.example.com/repos/project/trunk \
svn+ssh://host.example.com/repos/project/branches/NAME_OF_BRANCH \
-m "Creating a branch of project"
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
2018-09-13 22:46:58
Si su repositorio está disponible a través de https, puede usar este comando para ramificar ...
svn copy https://host.example.com/repos/project/trunk \
https://host.example.com/repos/project/branches/branch-name \
-m "Creating a branch of project"
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
2016-02-10 20:36:21
svn cp /trunk/ /branch/NEW_Branch
Si tiene algunos cambios locales en el tronco, use Rsync
para sincronizar los cambios
rsync -r -v -p --exclude ".svn" /trunk/ /branch/NEW_Branch
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
2013-09-03 09:14:12
Normalmente lo copiaría a svn+ssh://host.example.com/repos/project/branches/mybranch para que pueda mantener varias ramas en el repositorio, pero su sintaxis es válida.
Aquí hay algunos consejos sobre cómo configurar el diseño de su repositorio.
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
2008-08-05 12:40:31
Supongamos que desea crear una rama a partir de un nombre troncal (como " TEST") luego use:
svn cp -m "CREATE BRANCH TEST" $svn_url/trunk $svn_url/branches/TEST
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
2016-02-01 21:37:29
Si incluso planea fusionar su rama, le sugiero que mire esto:
He oído que Subversion 1.5 construye más del seguimiento de fusión, no tengo experiencia con eso. Mi proyecto está en 1.4.x y svnmerge.py es un salvavidas!
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
2013-01-28 04:33:56
El mejor consejo para los nuevos usuarios de SVN; esto puede ayudar un poco a obtener las URL correctas rápidamente.
Ejecute svn info
para mostrar información útil acerca de la rama checked-out actual.
La URL debería (si ejecuta svn en la carpeta raíz) darle la URL desde la que necesita copiar.
También para cambiar a la rama recién creada, use el comando svn switch
:
svn switch http://my.repo.url/myrepo/branches/newBranchName
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
2016-02-01 21:43:38
- Cree una nueva carpeta fuera de su proyecto actual. Puedes darle cualquier nombre. (Ejemplo: Tienes un checkout para un proyecto llamado "Customization". Y tiene muchos proyectos, como "Project1", "Project2"....Y quieres crear una rama de "Project1". Así que primero abra la "Personalización", haga clic derecho y crear una nueva carpeta y darle un nombre,"Project1Branch").
- Haga clic derecho en "Myproject1"....TortoiseSVN - > Branch / Tag.
- Elija copia de trabajo.
- Abierto navegador....Justo a la derecha del paralelo en "A URL".
- Seleccione personalización.....haga clic derecho y luego Agregar carpeta. e ir a través de la carpeta que ha creado. Aquí está "Project1Branch". Ahora haga clic en el botón OK para agregar.
- Echa un vistazo a este nuevo banch.
- De nuevo ve a tu proyecto qué rama quieres crear. Haga clic derecho en TorotoiseSVN - > branch / tag. A continuación, seleccione copia de trabajo. Y puedes dar la URL como el nombre de tu rama. como {su IP dirección / svn/AAAA / Personalización / Project1Branch}. Y puede establecer el nombre en la URL para que cree la carpeta solo con este nombre. Como {Tu dirección IP/svn/AAAA/Customization/Project1Branch / MyProject1Branch}.
- Pulse el botón OK. Ahora puedes ver los registros ...su copia de trabajo se almacenará en su sucursal.
- Ahora puedes sacar un cheque...y que disfrutes de tu trabajo. :)
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
2016-02-01 21:41:15