¿Cuál es la diferencia entre Git Switch y Checkout?

Cuando comiences a aprender y usar Git, te encontrarás con la situación común en la que tiene que cambiar de rama. Aquí, las cosas pueden volverse un poco confusas para ti.

Si buscas cómo cambiar de rama en git, encontrarás algunos ejemplos en los que se usa git switch y algunos ejemplos en los que se usa git checkout.

Comando checkout Git Comando switch Git Descripción
git checkout tu-rama git switch tu-rama Cambiar a rama tu-rama
git checkout -b tu-rama git switch -c tu-rama Crear y cambiar a tu-rama

Entonces, ¿Cuál es la diferencia entre git switch y git checkout? Si ambos se pueden usar para cambiar de rama, ¿Por qué hay dos comandos para el mismo propósito?

Dejame intentar explicartelo.

Diferencia entre git checkout y git switch

La cuestión es que Git checkout es el antiguo comando que se usaba para crear y cambiar de rama. También se puede usar para restaurar los cambios de una determinada confirmación.

Pero git checkout hace más que eso, te permite copiar archivos de cualquier rama o confirmar directamente en tu árbol de trabajo sin la necesidad de cambiar de rama.

Git checkout hace tres cosas:

  • Cambiar de rama
  • Copiar archivos del escenario principal a la rama de trabajo
  • Copiar archivos de una rama a otra rama de trabajo

Quizás aún no logres entenderlo, bien. Solamente recuerda que git checkout hace más que un simple cambio de rama, pero ambos generan confusión.

Por lo tanto, con el lanzamiento de Git 2.23, sus desarrolladores introdujeron dos nuevos comandos de git: <strong>git switch</strong> y <strong>git restore</strong> .

La idea detrás de este movimiento es permitir que las personas usen git switch para cambiar de rama y git restore para deshacer los cambios de una confirmación.

Al mismo tiempo <strong>git checkout</strong> permanecerá activo para las opciones avanzadas.

¿Cual deberías usar? ¿Git checkout o git switch?

Si tienes que cambiar de rama, utiliza el comando git switch en lugar de git checkout. ¿Por qué? Pues porque fue creado para esta tarea específica.

Para los nuevos usuarios de Git, es más fácil recordar que git switch es para cambiar de rama y git restore es para restaurar una confirmación.

Por lo tanto, es una buena práctica reemplazar la creación de ramas y la funcionalidad de cambio de git checkout por el comando git switch.

Espero que tengas claro el uso de git switch.

Relacionado

Deja un comentario