Se puede decir que todos los sistemas operativos tienen operaciones de deshacer, y los sistemas Linux no son una excepción. Y en el Linux Git puedes deshacer la mayoría de las operaciones incorrectas, echemos un vistazo.
Cuando realiza una nueva confirmación, Git guarda una instantánea de su base de código en ese momento en particular, después de eso, puede usar Git para volver a una versión anterior de su proyecto.
En esta publicación de blog, explicaré algunos de los escenarios comunes en los que necesita "deshacer" los cambios que se han realizado y la mejor manera de hacerlo con Git.
Deshacer a " publicada y " cambia
escenario: Ha realizado los git push, enviar los cambios a GitHub, y ahora se da cuenta de cuál de estos cometen Uno es problemático, necesita deshacer ese compromiso.
Método: git revert SHA
Principio: git revert generará un nuevo commit, que corresponde al SHA especificado. Es lo opuesto (o revertido). Si la confirmación original es "sustancia", la nueva confirmación es "antimateria" y mdash; cualquier contenido eliminado de la confirmación original se agregará nuevamente a la confirmación nueva, cualquier contenido agregado en la confirmación original Se eliminará en el nuevo commit.
Este es el escenario de deshacer más seguro y básico de Git, ya que no cambia el historial, por lo que ahora puede presionar la nueva confirmación "inversa" para compensar la confirmación que envió incorrectamente.
Solucionar el último mensaje de confirmación
Escenario: tiene un error administrativo en el último mensaje de confirmación, ha ejecutado git commit -m " Fxies bug # 42 ", pero antes de git push Te das cuenta de que el mensaje debería ser "Corrige el error # 42 ″." Método
: git commit --amend o git commit --amend --m " Corrige el error # 42 "
Principio: git commit --amend se actualizará y reemplazará con un nuevo commit Con el compromiso reciente, este nuevo compromiso combina cualquier cambio con el contenido del compromiso anterior. Si no se realizan cambios actualmente, esta operación solo reescribirá el último mensaje de confirmación.
Deshacer " Local y " Modificar
Escenario: Un gato pasa por el teclado, guarda los cambios inadvertidamente y luego destruye el editor. Sin embargo, no ha cometido estos cambios. Desea restaurar todo en el archivo modificado — al igual que la última confirmación.
Método: git checkout - "nombre de archivo incorrecto"
Principio: git checkout modificará los archivos en el directorio de trabajo a un estado registrado antes de Git. Puede proporcionar un nombre de sucursal o un SHA específico que desee devolver o, de forma predeterminada, Git pensará que desea que el proceso de pago sea HEAD, la última confirmación de la rama de pago actual.
Recuerda: cualquier cambio que hagas de esta manera "deshacer" realmente desaparecerá. Debido a que nunca se han enviado, Git no puede ayudarnos a recuperarlos más tarde. ¡Debe asegurarse de entender lo que tira en esta operación! (Tal vez pueda confirmar primero con git diff)
Restablecer " Local " Modificar
Escenario: Usted envió algo localmente (aún no se ha enviado), pero todas estas cosas Es muy malo, desea deshacer los tres compromisos anteriores, como nunca han ocurrido.
Método: git reset "last good SHA" o git reset --hard "last good SHA"
Principio: git reset devolverá el historial de su base de código al estado SHA especificado. Es como si estas presentaciones nunca hubieran sucedido. Por defecto, git reset conserva el directorio de trabajo. De esta manera, el envío desaparece, pero las modificaciones aún están en el disco. Esta es una opción segura, pero por lo general nos gustaría "restar" y confirmar y modificar el contenido — esta es la función de la opción --hard.
Reanudar después de deshacer la "modificación local"
Escenario: Usted envió varias confirmaciones, luego git reset --hard para deshacer estos cambios (vea el párrafo anterior), luego ¡Te das cuenta de que quieres restaurar estos cambios!
Método: git reflog y git reset o git checkout
Principio: git reflog es un gran recurso para restaurar el historial de proyectos. Puedes recuperar casi cualquier cosa que hayas cometido con — solo con la ayuda de Reflog.
Es posible que ya esté familiarizado con el comando git log, que mostrará una lista de confirmaciones. El git reflog es similar, pero muestra una lista de veces en que el HEAD ha cambiado. Previo1234Página siguiente Total 4 páginas
Usando el comando ftp en el sistema Linux, los usuarios pueden realizar operaciones
Bajo el sistema Linux, puede usar el comando de historial para ver el historial de
? Muchos amigos se han puesto en contacto con el sistema CentOS y descubrieron que las fuentes que
Por consideraciones de seguridad del sistema, los sistemas Ubuntu generalmente desh
Los pasos específicos para instalar el complemento Flash en Firefox en Linux
¿Qué debo hacer cuando el disco duro de Ubuntu lee y escribe?
¿Qué debo hacer si reinicio la tarjeta en la pantalla del logotipo después de instalar Ubuntu 11.10?
Cómo usar el comando iptables para configurar el firewall para el sistema Linux
Cómo utilizar la herramienta de comandos CRT para ver la información de recursos del sistema Linux
Ubuntu cómo modificar el indicador de comando PS1
Método de Linux para cambiar la capacidad del disco VirtualBox
¿Qué debo hacer cuando VMware instala Ubuntu e informa piix4_smbus?
Resumen de ejemplos de operación de strace en sistema Linux
Cómo instalar el servicio openssh en openSUSE
¿Qué debo hacer si no se puede iniciar la NIC después de clonar la máquina virtual de Linux?
La experiencia de compartir carga suave de 7 capas bajo Windows
Precio magnífico: la duración de la batería de la netbook de Windows 7 no es tan buena como la de XP
Fácil de dominar la función de grabación de Windows7
Desarrollo sincronizado con Windows 7: Microsoft anunció el modo XP más detalles
El problema de que el software no se puede instalar bajo Vista, ¿cómo resolverlo?
Gran competencia de software antivirus en el entorno de windows7
WP8.1 utilizará las nuevas pegatinas magnéticas de gran envergadura
Explicación detallada de la función de lupa de los gadgets de Windows 7
¡Win8 comienza a experimentar todo el proceso! Llévese a la versión