2009-09-22 12 views

Respuesta

179

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

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

Asegúrate de que lo que tienes es estable.

Haga clic derecho en la carpeta de trabajo de raíz y haga svn commit para asegurarse de que cualquier cambio local se confirme en la línea troncal.

Haga clic derecho en la carpeta de trabajo raíz y haga svn repo-browser.

Si aún no tiene una carpeta de ramas en el repositorio: haga clic derecho en la carpeta justo encima de la carpeta troncal y haga "crear carpeta" y cree una carpeta de ramas (por ejemplo, si su troncal es http://myserver/svn/MyRepository/MyProj/Trunk, crear http://myserver/svn/MyRepository/MyProj/Branches).

Haga clic derecho en la carpeta del tronco y haga Copy To: y ponga el nuevo nombre de la carpeta para su sucursal. Por ejemplo: http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch. (No se preocupe, esto perderá mucho espacio ... esto se llama "copia barata" ... en realidad no copia el contenido de los archivos a menos que cambien).

Cerrar Repo-navegador.

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

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

Si hay otros trabajando en la misma rama, haga periódicamente svn update desde la carpeta de trabajo raíz. Esto se actualizará desde la sucursal. (NO obtendrá ninguna actualización desde el troncal.)

Independientemente de que otros trabajen en la misma rama, debe fusionar periódicamente los cambios desde el troncal para asegurarse de que su rama no será demasiado difícil de integrar más adelante. Para hacer la fusión periódica: haga clic con el botón derecho en la raíz de la carpeta de trabajo y haga svn merge. Seleccione "Fusionar un rango de revisiones". En "URL para fusionar desde", elija la línea externa (por ejemplo, http://myserver/svn/MyRepository/MyProj/Trunk). Deje Rango de revisión en blanco y deje todo lo demás solo. Haga clic en Siguiente. Deje todo solo y haga clic en Merge. Asegúrate de que todo siga funcionando ... corrígelo si no. Una vez que esté satisfecho, haga un svn update normal 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 el SVN). A continuación, realice svn commit para confirmar los cambios del tronco fusionado en la rama. Puede repetir este paso periódicamente cuantas veces quiera.

Una vez que su sucursal esté lista para integrarse, realice el paso anterior una última vez y realice su prueba final. Haz un compromiso final con la sucursal.

Haga clic con el botón derecho en su carpeta de trabajo raíz y haga otra svn switch, esta vez cambiando a la troncal (por ejemplo, http://myserver/svn/MyRepository/MyProj/Trunk).Esto tendrá el efecto de esencialmente "deshacer" todo el trabajo que ha realizado en su sucursal, pero no se preocupe ... recuperará su trabajo. (También informará muchas actualizaciones de archivos que no modificó en su sucursal, pero estos son solo cambios de "propiedad SVN" ... no se preocupe por ellos)

Haga clic derecho en su carpeta de trabajo y hacer svn merge. Esta vez, elija "Reintegrar una sucursal". Para la URL, ingrese su sucursal (por ejemplo, http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch). Deje el resto solo y haga clic en Siguiente. Deje todo solo y haga clic en Merge. Ahora tiene todo el trabajo que ha realizado en su sucursal, así como el trabajo actualizado desde el troncal.

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

El maletero ahora tiene todas sus ramificaciones, así como todo el trabajo que se hizo en el maletero mientras trabajaba en su sucursal, y todo funciona. Además, SVN tiene el historial completo de todos los archivos, incluso las revisiones que se registraron mientras trabajaba en su sucursal.

Opcional: entre en el navegador Repo, haga clic con el botón derecho en su carpeta de sucursal (por ejemplo, http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch) y haga "eliminar". Esto no tendrá ningún efecto en el tronco y ya no necesitará la rama. (Incluso si eres realmente paranoico, no te preocupes, porque incluso puedes recuperar tu sucursal eliminada del navegador Repo en cualquier momento si realmente lo necesitas)

¡No dudes en comentar!

+7

725 palabras es simple? – RedFilter

+32

Dije "más simple" no "simple" :) – JoelFan

+12

¡Esto ha sido muy útil, gracias! – Funka

Cuestiones relacionadas