¿Cuál es la forma más sencilla de ramificar y fusionar usando TortoiseSVN?


¿Qué es un "cómo" realmente simple para hacer ramificación y fusión usando TortoiseSVN?

Author: Peter Mortensen, 2009-09-22

1 answers

Asumiendo que su directorio de trabajo está trabajando desde el tronco:

Haga clic con el botón derecho en la "carpeta de trabajo raíz" (este término siempre se refiere al Explorador de Windows) y haga svn update para actualizar su carpeta de trabajo al último tronco.

Asegúrese de que lo que tiene es estable.

Haga clic con el botón derecho en la carpeta de trabajo raíz y haga svn commit para asegurarse de que cualquier cambio local se confirme en el tronco.

Haga clic con el botón derecho en la carpeta de trabajo raíz y haga svn repo-browser.

Si aún no tiene un carpeta branches en el repositorio: haga clic con el botón derecho en la carpeta justo encima de la carpeta trunk y haga "create folder" y cree una carpeta branches (por ejemplo, si su trunk es http://myserver/svn/MyRepository/MyProj/Trunk, cree http://myserver/svn/MyRepository/MyProj/Branches).

Haga clic con el botón derecho en la carpeta troncal y haga Copy To: y ponga el nuevo nombre de carpeta para su rama. Por ejemplo: http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch. (No te preocupes que esto desperdiciará mucho espacio... esto se llama una "copia barata" ... en realidad, no copia el contenido de los archivos a menos que cambien).

Cerrar Repo-browser.

Haga clic derecho en la raíz de su carpeta de trabajo y haga: svn switch y elija el nombre de la carpeta de su nueva rama (por ejemplo, http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch). Deja todo lo demás en el valor predeterminado.

Ahora trabaja en tu rama. Cuando llegue a hitos, haga clic con el botón derecho en la carpeta de trabajo raíz y haga svn commit para confirmar su rama. (Esto no se verá en el maletero).

Si otros están trabajando en la misma rama, periódicamente haga svn update desde la carpeta de trabajo raíz. Esto se actualizará desde el Sucursal. (NO recibirá ninguna actualización del tronco.)

Ya sea que otros estén trabajando o no en la misma rama, debe combinar periódicamente los cambios del tronco para asegurarse de que su rama no será demasiado difícil de integrar más tarde. Para hacer la fusión periódica: haga clic derecho en la carpeta de trabajo raíz y haga svn merge. Seleccione "Combinar un rango de revisiones". En" URL desde la que fusionar", elija el tronco (por ejemplo, http://myserver/svn/MyRepository/MyProj/Trunk). Deje Rango de revisiones en blanco y deje todo lo demás en paz. Clic Siguiente. Deja todo en paz y haz clic en Merge. Asegúrate de que todo siga funcionando... solucionarlo si no. Una vez que esté satisfecho, haga un svn update regular desde la carpeta raíz de trabajo para actualizar desde la rama (esto es necesario incluso si usted es el único que trabaja en la rama, para satisfacer SVN). Luego haga svn commit para confirmar los cambios del tronco fusionado en la rama. Puede repetir este paso periódicamente tantas veces como desee.

Una vez que su rama esté lista para integrarse, realice el paso uno anterior la última vez y haz tu prueba final. Haz una confirmación final a la rama.

Haga clic derecho en su carpeta de trabajo raíz y haga otro svn switch, esta vez cambiando al tronco (por ejemplo, http://myserver/svn/MyRepository/MyProj/Trunk). Esto tendrá el efecto de esencialmente "deshacer" todo el trabajo que has hecho en tu rama, pero no te preocupes... recuperarás tu trabajo. (También reportará muchas actualizaciones de archivos que no cambiaste en tu rama, pero estos son solo cambios de "propiedad SVN"... no te preocupes por ellos.)

Haga clic derecho en su carpeta de trabajo y haga svn merge. Esta vez, elija "Reintegrar una rama". Para la URL, pon en tu rama (por ejemplo, http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch). Deje el resto en paz y haga clic en Siguiente. Deja todo en paz y haz clic en Merge. Ahora tiene todo el trabajo que ha hecho en su rama, así como el trabajo actualizado del tronco.

Haga una prueba final. Todo debería funcionar porque este debería ser el mismo conjunto de archivos que tenías en tu última prueba en la rama. Haga clic derecho en su carpeta de trabajo raíz y haga un svn commit. Confirme todo, incluso los archivos en los que no trabajó en su rama (solo tienen cambios de "propiedad SVN", pero confirmarlos ayuda a SVN a realizar un seguimiento de todas las revisiones).

El tronco ahora tiene todo el trabajo de su rama, así como todo el trabajo que se hizo en el tronco mientras estaba trabajando en su rama, y todo funciona. Además, SVN tiene el historial completo de todos los archivos, incluso las revisiones que se revisaron mientras estamos trabajando en tu sucursal.

Opcional: entra en Repo-browser, haz clic con el botón derecho en la carpeta de tu rama (por ejemplo, http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch) y haz "eliminar". Esto no tendrá ningún efecto en el tronco, y ya no necesita la rama. (Incluso si usted es realmente paranoico, no se preocupe, porque incluso puede obtener su rama eliminada de nuevo desde el navegador Repo en cualquier momento si realmente lo necesita.)

Por Favor, siéntase libre de comentar!

 181
Author: JoelFan,
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
2012-04-10 19:02:16