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

Cuando comience a aprender y usar Git, se encontrará con la situación común en la que tiene que cambiar de rama.

Y aquí, las cosas podrían volverse un poco confusas para ti. Si busca cómo cambiar de rama en git, encontrará algunos ejemplos en los que se usa git switch y algunos ejemplos en los que se usa git checkout.

Comando de pago Git Comando de cambio Git Descripción
git checkout mi-sucursal git cambia mi rama Cambiar a sucursal my-branch
git checkout -b mi-sucursal git switch -c mi-rama Crear y cambiar a mi sucursal

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 explicar.

Diferencia entre git checkout y git switch

Aquí está la cosa. 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. Le permite copiar archivos de cualquier rama o confirmar directamente en su árbol de trabajo sin cambiar de rama.

Como Dan Fabulich notas git checkout hace tres cosas:

  • cambiar de rama
  • copiar archivos del escenario al árbol de trabajo
  • copiar archivos de un árbol-ish al árbol de trabajo

Si no lo entiendes, está bien. Solo recuerde que git checkout hace más que un simple cambio de rama y las funcionalidades adicionales comenzaron a crear confusión.

Y por lo tanto, con el lanzamiento de Git 2.23, sus desarrolladores introdujeron dos nuevos comandos de git: git switch y git restore .

La idea detrás de este movimiento es permitir que la gente use git switch para cambiar de rama y git restore para deshacer los cambios de una confirmación. Al mismo tiempo git checkout permanece allí para opciones avanzadas para lidiar con tree-ish.

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

Si tiene que cambiar de sucursal, use el comando git switch en lugar de git checkout. ¿Por qué? 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, git restore es para restaurar un compromiso.

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

Espero que tenga claro el uso de git switch y el pago ahora. Si tiene algo que agregar, utilice la sección de comentarios.

Related Posts