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 sucursal 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 de Git | Descripción |
git checkout my-branch | git cambia mi rama | Cambiar a sucursal my-branch |
git checkout -b mi-sucursal | git switch -c mi-sucursal | 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? Déjame explicarte.
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 desde cualquier rama o confirmar directamente en su árbol de trabajo sin cambiar de rama.
Como señala Dan Fabulich, git checkout hace tres cosas:
- cambiar de sucursal
- copiar archivos del escenario al árbol de trabajo
- copiar archivos de un árbol 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 las personas usen 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.
¿Cuál debería 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 una confirmación.
Por lo tanto, es una buena práctica reemplazar la creación de ramas y la función 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.