Trabajando en múltiples sucursales simultáneamente en un solo repositorio

Nov 29 2022
En un mundo perfecto, cada desarrollador debería concentrarse en una sola tarea o historia, sin tener que cambiar entre diferentes contextos. Seamos realistas, que rara vez es el caso hoy en día.
Foto de Suganth en Unsplash

En un mundo perfecto, cada desarrollador debería concentrarse en una sola tarea o historia, sin tener que cambiar entre diferentes contextos. Seamos realistas, que rara vez es el caso hoy en día. Afortunadamente, git tiene la herramienta perfecta en su arsenal, lo que permite a los desarrolladores trabajar en varias ramas simultáneamente sin tener que ir y venir. El instrumento en cuestión es git worktree.

Requisitos:

Para iniciar un árbol de trabajo, necesita un repositorio inicializado, opcionalmente con múltiples ramas.

Por ejemplo, consideremos un repositorio con tres ramas. list-users-API, una rama de función que resulta ser la rama activa actual, la mainrama y user-unable-to-edit-content, una rama de error adicional. Un escenario posible es que la bifurcación del error no pasó la revisión del código y se requieren más cambios. Hay un par de maneras en que podríamos proceder desde aquí:

  1. Guarde todo nuestro progreso y cambie a la rama de errores para aplicar los cambios necesarios.
  2. Clone el repositorio en una carpeta diferente y resuelva el problema sin tener que esconderlo, pero invierta una cantidad considerable de tiempo en el proceso.
  3. El tercer y último enfoque es usar git worktree, conservar nuestro progreso actual en la rama de características y evitar cambiar por completo.

Implementación:

Para comenzar, use el siguiente comando para inicializar un árbol de trabajo :

$ git worktree add <path> [<commit-ish>]

Preparando el árbol de trabajo (revisando 'usuario que no puede editar contenido')

Si usa git branchahora, verá un +símbolo, anteponiendo el nombre de la sucursal. Para comenzar a usar el árbol de trabajo, todo lo que tenemos que hacer es abrir el nuevo directorio dentro del repositorio con el IDE de nuestra elección. Ahora podemos enviar cambios a la rama de errores junto con el desarrollo de la nueva función. Una vez que hayamos terminado con los cambios, podemos eliminar el árbol de trabajo usando:

$ git worktree remove <worktree>

Git worktree es un instrumento útil que aumenta la versatilidad y ahorra una cantidad sustancial de tiempo. Permite trabajar en dos o más ramas sin tener que guardar o confirmar código sin terminar. Espero que este artículo haya sido de ayuda y aumente su productividad. ¡Proporcione cualquier comentario que considere que vale la pena compartir en los comentarios!