SVN - Ciclo de vida
El ciclo de vida de un sistema de control de versiones se analiza en este capítulo. En capítulos posteriores, veremos el comando de Subversion para cada operación.
Crear repositorio:
El repositorio es un lugar central donde los desarrolladores almacenan todo su trabajo. El repositorio no solo almacena archivos, sino también el historial de cambios. Lo que significa que mantiene un historial de los cambios realizados en los archivos.
La operación 'crear' se usa para crear un nuevo repositorio. La mayoría de las veces, esta operación se realiza solo una vez. Cuando crea un nuevo repositorio, su VCS esperará que diga algo para identificarlo, como dónde desea que se cree o qué nombre se le debe dar al repositorio.
Revisa
La operación 'Checkout' se usa para crear una copia de trabajo desde el repositorio. La copia de trabajo es un lugar de trabajo privado donde los desarrolladores realizan sus cambios y, luego, envían estos cambios al repositorio.
Actualizar
Como sugiere el nombre, la operación 'actualizar' se usa para actualizar la copia de trabajo. Esta operación sincroniza la copia de trabajo con el repositorio. Como el repositorio es compartido por todos los equipos, otros desarrolladores pueden confirmar sus cambios y su copia de trabajo envejece.
Supongamos que Tom y Jerry son los dos desarrolladores que trabajan en un proyecto. Ambos revisan la última versión del repositorio y comienzan a trabajar. En este punto, sus copias de trabajo están completamente sincronizadas con el repositorio. Jerry completa su trabajo de manera muy eficiente y confirma sus cambios en el repositorio.
Ahora la copia de trabajo de Tom está desactualizada. La operación de actualización extraerá los últimos cambios de Jerry del repositorio y actualizará la copia de trabajo de Tom .
Realizar cambios
Después del pago, se pueden realizar varias operaciones para realizar cambios. Editar es la operación más común. Se puede editar el archivo existente para agregar / eliminar contenido del archivo.
Se pueden agregar archivos / directorios. Pero inmediatamente estos archivos / directorios no pasan a formar parte del repositorio, sino que se agregan a la lista de cambios pendientes y pasan a formar parte del repositorio después de la operación de confirmación.
Del mismo modo, se pueden eliminar archivos / directorios. La operación de eliminación elimina inmediatamente el archivo de la copia de trabajo, pero la eliminación real del archivo se agrega a la lista de cambios pendientes y los cambios se realizan en el repositorio después de la operación de confirmación.
La operación 'Renombrar' cambia el nombre del archivo / directorio. La operación 'Mover' se usa para mover archivos / directorios de un lugar a otro en un árbol de repositorio.
Revisar cambios
Cuando revisa la copia de trabajo o actualiza la copia de trabajo, entonces su copia de trabajo está completamente sincronizada con el repositorio. Pero a medida que realiza cambios en su copia de trabajo, se vuelve más nueva que el repositorio. Y es una buena práctica revisar los cambios antes de la operación de "confirmación".
La operación 'Estado' enumera las modificaciones que se han realizado a la copia de trabajo. Como hemos mencionado antes, siempre que realice cambios en la copia de trabajo, todos estos cambios se convertirán en parte de la lista de cambios pendientes. Y la operación de 'estado' se usa para ver la lista de cambios pendientes.
La operación 'Estado' solo proporciona una lista de cambios, pero no los detalles sobre ellos. Se puede utilizar la operación diff para ver los detalles de las modificaciones que se han realizado en la copia de trabajo.
Corregir errores
Supongamos que uno ha realizado cambios en su copia de trabajo, pero ahora quiere deshacerse de estos cambios. En esta situación, la operación 'revertir' ayudará.
La operación de reversión revierte las modificaciones que se han realizado en la copia de trabajo. Es posible revertir uno o más archivos / directorios. También es posible revertir toda la copia de trabajo. En este caso, la operación 'revertir' destruirá la lista de cambios pendientes y devolverá la copia de trabajo a su estado original.
Resolver conflictos:
Pueden producirse conflictos en el momento de la fusión. La operación 'Fusionar' maneja automáticamente todo lo que se puede hacer de forma segura. Todo lo demás se considera conflicto. Por ejemplo, el archivo "hello.c" se modificó en la rama y se eliminó en otra rama. Tal situación requiere que una persona tome la decisión. La operación 'resolver' se usa para ayudar al usuario a resolver las cosas e informar a VCS sobre las formas de manejar los conflictos.
Cometer cambios
La operación 'Confirmar' se usa para aplicar cambios de la copia de trabajo al repositorio. Esta operación modifica el repositorio y otros desarrolladores pueden ver estos cambios actualizando su copia de trabajo.
Antes de confirmar, uno tiene que agregar archivos / directorios a la lista de cambios pendientes. Este es el lugar donde los cambios esperan ser comprometidos. Con la confirmación, generalmente proporcionamos un mensaje de registro para explicar por qué alguien hizo cambios. Este mensaje de registro se convierte en parte del historial del repositorio. La confirmación es una operación atómica, lo que significa que la confirmación completa se realiza correctamente o se revierte. Los usuarios nunca ven un compromiso a medio terminar.