Deshacer en git significa deshacer como cuando escribimos algo en cualquier editor de texto y eliminamos el sam. Después de eso, creemos que se necesita el texto que acabamos de eliminar, luego usamos la operación de deshacer para recuperar el texto anterior, lo mismo deshacer en git es como deshacer en git. Entonces, comenzaremos este artículo con cómo podemos volver a la confirmación anterior.
Volver a una confirmación anterior
Para volver a una confirmación anterior, podemos usar el siguiente comando, ya que básicamente separa nuestra cabeza con la identificación de confirmación anterior.
git checkout commit-id
Entonces, ahora, si escribimos git branch, podemos ver que nuestra cabeza está separada en la identificación de confirmación que acabamos de usar en el comando de pago.
Así que podemos ver que el siguiente comando nos coloca en la identificación de confirmación utilizada en el comando de pago y podemos hacer nuevas confirmaciones además de esta antigua confirmación sin afectar nuestra rama donde nuestro jefe está presente actualmente.
git checkout commit-id
Podemos realizar cualquier cambio en una rama adecuada usando branch o checkout -b al igual que hemos hecho una nueva confirmación en esta rama de desarrollo que podemos ver usando el comando git log.
Entonces, si desea volver a la confirmación anterior y mantener los cambios, podemos usar el siguiente comando de la siguiente manera:
git reset --soft commit-id
Entonces, para volver a la última confirmación, podemos usar el siguiente comando de la siguiente manera:
git reset --soft HEAD~
Si queremos descartar permanentemente cualquier cambio realizado después de una confirmación específica, podemos usar el siguiente comando de la siguiente manera:
git reset --hard commit-id
Aquí podemos ver que al usar el comando anterior, la confirmación que se realizó después de que la confirmación en particular se descarta, por ejemplo, en este caso, hemos usado el comando git reset –hard commit-id-of-2nd-commit se usa aquí y puede ver que la confirmación después de la segunda confirmación se descarta para confirmar que hemos usado el comando git log y podemos ver que solo muestra dos confirmaciones. Todo el compromiso que estaba después del segundo compromiso se descarta.
Entonces, si desea descartar cualquier cambio realizado después de la última confirmación, podemos usar el siguiente comando de la siguiente manera:
git reset --hard HEAD~
Aquí podemos ver que todas las confirmaciones realizadas después de esta última confirmación se descartan.
Deshacer cambios
Si queremos deshacer los cambios en un archivo o directorio, podemos usar el siguiente comando de la siguiente manera:
git checkout -- name_of_the_file
Aquí podemos ver que el archivo tiene un contenido de 3 líneas antes de usar este comando y cuando usamos este comando y luego cuando imprimimos el contenido del archivo, imprimió el contenido anterior que se escribió en algún momento en el archivo.
Si queremos deshacer todos los cambios en los archivos presentes en el directorio de trabajo actual, podemos usar el siguiente comando de la siguiente manera:
git checkout -- .
Entonces, lo que ha hecho este comando es deshacer todo el contenido nuevo presente en el archivo y, al imprimir el contenido de los archivos, devolvió el contenido anterior y . está representando que en el directorio actual tenemos que deshacer todos los cambios.
Entonces, ahora, si queremos deshacer las dos últimas confirmaciones, podemos usar el siguiente comando de la siguiente manera:
git reset HEAD~2
usando reflog
Entonces, básicamente, reflog tiene el historial de todo lo que hemos hecho durante los últimos 90 días, tenemos que usar el siguiente comando de la siguiente manera:
git reflog
Además, podemos verificar los diferentes ID de compromiso al ver el resultado de git reflog usando el comando:
git checkout HEAD@{30}
Esta es una reorganización y puede ver la confirmación anterior en la salida del comando git reflog, por lo que básicamente este comando colocará la cabeza en esa identificación de confirmación y entenderá la reorganización en mis artículos futuros hasta entonces, puede considerarlo ya que estamos cambiando a lo particular. cometer id.
Además, podemos crear nuevas sucursales y eliminar sucursales solo en esta identificación de confirmación.
También podemos restablecer directamente a un punto en nuestro reflog usando el siguiente comando de la siguiente manera:
git reset --hard Rebase_name
Deshacer combinación
Deshacer una combinación que aún no se envió a un control remoto. Entonces, si nuestro caso de uso es deshacer las confirmaciones de combinación de otra rama, podemos usar el siguiente comando:
git reset --hard merge-commit-id
Si sabemos que nuestra confirmación más reciente fue una confirmación de combinación, podemos deshacerla con el siguiente comando:
git reset HEAD~
Por lo tanto, este comando deshará cualquier confirmación de combinación junto con cualquier otra confirmación de la otra rama.
Deshacer una fusión enviada a un control remoto
Entonces, primero empujemos una fusión al repositorio remoto para que pueda ver que se ha agregado un repositorio remoto aquí en la carpeta 5 y luego los cambios se envían al repositorio remoto. Aquí podemos ver que el archivo con el nombre de bug-fix.txt se fusiona desde la rama de funciones a la rama maestra, luego agregamos un repositorio remoto y luego enviamos estos cambios al repositorio remoto en Github.
Ahora, si desea deshacer la confirmación de combinación que ya se está enviando al repositorio remoto, use el comando de la siguiente manera:
git revert -m 1 commit-id
Así que ahora hemos eliminado con éxito nuestra fusión junto con otros archivos de la rama de funciones. Ahora, si queremos volver a agregar la fusión al repositorio remoto, seguiremos el siguiente procedimiento.
Ahora, si desea volver a revertir esta fusión y cualquier otro cambio de la rama de características, hay un flujo de trabajo más en lugar de usar este comando git revert -m 1 commit-id , ya que puede ayudarnos a evitar cualquier conflicto de fusión entre las ramas también. .
Al usar este comando, se abrirá un editor y en él, debe escribir un breve mensaje de confirmación para que podamos evitar cualquier conflicto de fusión entre ramas.
Revertir algunas confirmaciones existentes
Entonces, ahora, si desea revertir algunas confirmaciones existentes de su repositorio remoto, especialmente cuando esas confirmaciones se envían al repositorio remoto.
Por ejemplo, acaba de enviar un código incorrecto al repositorio remoto que tenía algunos errores y necesita revertirlo, es decir, retroceder para ese caso de uso, podemos usar el comando git revert HEAD ~ 1. Así que ahora veamos cómo resolver este problema.
Después, debe crear una nueva confirmación porque registra estas nuevas confirmaciones para revertir las confirmaciones anteriores.
Después de esto, envíe estos cambios al tipo de repositorio remoto con el comando git push nombre_remoto
Publicación traducida automáticamente
Artículo escrito por ankitmahajan852 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA