Este artículo explicará brevemente la diferencia entre Git Reset -hard, -soft y -mixed.
¿Cuál es la diferencia entre git reset -mixed, -soft y -hard?
Git proporciona múltiples opciones de reinicio. Sobre la base de cómo manejan los compromisos, todas las opciones disponibles son diferentes entre sí. Todos modifican el historial de git y mueven la cabeza hacia atrás. Además, manejan los cambios de manera diferente, como:
Tomemos un ejemplo para ver cómo el "reinicio de $ gitEl comando funciona con diferentes opciones!
Paso 1: Vaya al repositorio Git deseado
Primero, muévase a su repositorio Git deseado utilizando el "cd" dominio:
$ CD "C: \ git \ test_repo"
Paso 2: Crear archivo
Ahora, ejecute el comando otorgado para crear un archivo:
$ touch archivo4.TXT
Paso 3: Agregar archivo al índice de puesta en escena
Utilizar el "Git AgregarComando "para agregar el archivo recién generado al índice de puesta en escena:
$ git agregar archivo4.TXT
Paso 4: Cambios de confirmación
A continuación, agregue todos los cambios al repositorio de trabajo ejecutando el "Git Commit" dominio:
$ git commit -m "archivo4 agregado"
Paso 5: Verifique el registro de git
Luego, consulte el historial de registro de git para ver los últimos compromisos que se agregaron:
Log de $ git
En la salida a continuación, se puede ver que se muestran todas las últimas confirmaciones adicionales y el "CABEZA"Está señalando el compromiso reciente:
Nota: Para ver la posición de apuntar actual de la cabeza de una mejor manera, ejecute el "Git log"Comando junto con el"-una línea" bandera:
$ git log -enneline
A continuación, la salida dada muestra la lista de comandos SHA hash con mensajes de confirmación:
Paso 6: Use el comando Git RESET -SOFT
Para revertir los cambios adicionales del repositorio de git al índice de puesta en escena, utilice el "reinicio de git"Comando junto con el"-suaveOpción ", y especifique la posición de la cabeza deseada donde se requiere para mover el puntero:
$ git restablecimiento -cabeza -suave ~ 1
Paso 7: Verifique el estado de git
Ahora, verifique la posición de revertir de la cabeza, verifique el estado del repositorio de git:
Estado de $ git
Se puede ver que el "RESET GIT -SOFT"El comando ha devuelto los cambios de confirmación al índice de puesta en escena git. Además, el "Archivo4.TXT"El archivo ahora está en el índice de puesta en escena git y debe comprometerse:
Paso 8: Verifique el registro de git
Para ver la posición actual de la cabeza, ejecute el comando dado junto con el "-una línea" opción:
$ git log -enneline
Aquí, la cabeza apunta al "Archivo3" comprometerse:
Paso 9: Use el reinicio Git - Comando mixto
Para deshacer los cambios comprometidos y eliminar los archivos del área de puesta en escena sin eliminar de ellos del directorio de trabajo, ejecute el "$ git reins -mixed"Comando junto con la posición de cabeza requerida de la confirmación:
$ git restablecimiento -cabeza mezcla ~ 1
Paso 10: Verifique el estado de git
Vea los cambios recientemente agregados verificando el estado del repositorio de git:
Estado de $ git
Se puede observar que los cambios de confirmación especificados se eliminan del área de estadificación. Sin embargo, se colocan en el área de trabajo:
Paso 11: Verifique el registro de git
Verifique el historial de registro de referencia del repositorio Git junto con el hash SHA:
$ git log -enneline
Paso 12: Use el reinicio Git - Comando duro
Para eliminar los cambios adicionales del directorio de trabajo local Git, ejecute el "$ git rein" dominio:
$ git reinicio -cabeza -hard ~ 1
Paso 13: Verifique el puntero de la cabeza revertido
Para verificar el puntero de la cabeza, vuelva a la posición especificada, ejecute el "Git log" dominio:
$ git log -enneline
La siguiente salida muestra que la cabeza apunta al "Archivo1 agregado" comprometerse:
Paso 14: Verifique el estado de git
Para ver los cambios adicionales, verifique el estado de git:
Estado de $ git
Se puede ver que no tenemos ninguna pista y cambios pendientes de "Archivo2.TXT" archivo. Por lo tanto, file2.TXT se ha eliminado por completo:
Paso 15: Verifique la lista de contenido de repositorio
Para verificar la lista de contenido del repositorio, ejecute el "LS" dominio:
$ LS
Como puede ver, el "Archivo2.TXT"El archivo no existe en el directorio actual:
Hemos explicado la diferencia entre opciones de reinicio de restablecimiento, -soft y -hard.
Conclusión
El "reinicio de gitEl comando se utiliza para restablecer los cambios, modificar el historial del repositorio de git y corregir errores. El "RESET GIT -SOFT"El comando mantiene los archivos y devuelve los cambios de confirmación al área de puesta en escena de GIT. En contraste, el "GIT RESET -MIXED"El comando deshace los cambios de confirmación y elimine el archivo del índice de puesta en escena sin eliminarlo del directorio de trabajo. Para eliminar todos los cambios y eliminarlos del área de trabajo de GIT, el "RESETO GIT -HARDEl comando se puede usar. Este artículo ilustra la diferencia entre Git Reset -mixed, -soft y -hard.