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

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 main
rama 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í:
- Guarde todo nuestro progreso y cambie a la rama de errores para aplicar los cambios necesarios.
- 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.
- 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>]

Si usa git branch
ahora, 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!