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 pago 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 FabulichLos gradosgit 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
ygit restore
.
La idea detrás de este movimiento es permitir que la gente usegit switch
para cambiar de rama y git restore para deshacer los cambios de una confirmación. Al mismo tiempogit 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 quegit 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.