GNU/Linux >> Tutoriales Linux >  >> Linux

¿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 sucursal en git, encontrará algunos ejemplos en los que se usa git switch y algunos ejemplos en los que se usa git checkout.

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.


Linux
  1. ¿Cuál es la diferencia entre Redhat y centOS?

  2. ¿Cuál es la diferencia entre strtok_r y strtok_s en C?

  3. ¿Cuál es la diferencia entre fsck y e2fsck?

  4. ¿Cuál es la diferencia entre `su -` y `su --login`?

  5. ¿Cuál es la diferencia entre unlink y rm?

¿Cuál es la diferencia entre Linux y Unix?

¿Cuál es la diferencia entre Shell de inicio de sesión y sin inicio de sesión?

¿Cuál es la diferencia entre el comando apt y apt-get?

¿Qué es un Hipervisor? ¿Cuál es la diferencia entre el tipo 1 y 2?

¿Cuál es la diferencia entre curl y Wget?

¿Cuál es la diferencia entre ruta y ruta ip?

    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