Directorio de artículos
En Git, puede usar el comando de comparación de diferencias y el comando de reversión de versión para ver las diferencias entre archivos y revertir a una versión anterior.
Aquí hay una breve explicación de estas operaciones:
Comparación de diferencias: puede usar git diff
comandos para comparar las diferencias entre los archivos en su espacio de trabajo y el área de preparación o la versión confirmada. Ejecute el siguiente comando para ver las diferencias de los archivos:
git diff
Esto mostrará las diferencias entre el espacio de trabajo y el área de ensayo. Si desea comparar las diferencias entre su espacio de trabajo y la última versión confirmada, puede agregar parámetros:
git diff HEAD
Este comando mostrará la diferencia entre su espacio de trabajo y HEAD (la última confirmación).
Retroceso de la versión: cuando necesite retroceder a una versión anterior, puede usar el comando git checkout
o git reset
para lograrlo.
Utilice git checkout
el comando para restaurar la versión especificada del contenido del archivo en el espacio de trabajo. Ejecute el siguiente comando:
git checkout <commit号> <文件名>
<número de confirmación> es el identificador de la confirmación específica a la que recurrir, que se puede ver a través del comando git log. <filename> es el nombre del archivo que se va a revertir.
Utilice el comando git reset para deshacer un envío determinado y todos los envíos posteriores, y restaurar la base de código a la versión especificada. Ejecute el siguiente comando:
git reset <commit号>
<número de confirmación> es el identificador de la confirmación específica a la que se va a revertir.
Nota: El uso del comando git reset para revertir la versión eliminará el envío revocado y los registros de envío posteriores, y no se podrá restaurar. Se recomienda utilizar este comando en el entorno de desarrollo local para evitar un impacto irreversible en la base de código público.
Nota complementaria: antes de realizar una operación de reversión de versión, se recomienda crear una rama y cambiar a esta rama para preservar el estado estable de la versión actual. Las ramas se pueden crear y cambiar con los siguientes comandos:
git branch <分支名>
git checkout <分支名>
De esta manera, puede realizar operaciones de reversión de versión en la nueva rama sin afectar la rama principal u otro trabajo en curso.
06. Operación local GIT - comparación de diferencias
Objetivo
使用 git diff来比较暂存区、本地库与工作区的内容
contenido
Use el comando vim para editar el archivo readme.txt, agregue la segunda línea de código y use wq para salir
-
Comparación del área de ensayo del espacio de trabajo
命令:git diff readme.txt
-
Comparación de repositorios locales de Workspace
命令:git diff HEAD readme.txt
-
Comparación de bibliotecas locales en el área de ensayo
命令:git diff --cached readme.txt
Aquí el caché no es diferente de la biblioteca local, por lo que no hay contenido.
- Suplemento: puede enviar al área de preparación y al almacén local por segunda vez
resumen
-
Cómo se compara el espacio de trabajo con el área de ensayo
nombre de archivo git diff
-
Cómo se comparan los espacios de trabajo con las bibliotecas nativas
nombre de archivo de cabecera de git diff
-
¿Cómo se compara el área de preparación con la biblioteca local?
git diff --nombre de archivo en caché
07. Operación local GIT - reversión de versión
Objetivo
掌握 git log、git reflog、git reset 作用
contenido
Cuando enviamos desde el área de preparación al almacén local, encontramos que hay un problema con la versión enviada actual. ¿Cómo podemos hacerlo si queremos volver a la versión especificada?
Use el comando vim para editar readme.txt, agregue "Soy la tercera línea de código"
命令:git add readme.txt 提交到暂存区
命令:git commit -m '第三次提交' 提交到本地仓库
Podemos ver el registro enviado a través del comando de registro de vista proporcionado por git
命令:git log 查看当前提交日志
Se puede encontrar que hasta el momento, hemos presentado 3 veces en el almacén local, es decir, hay 3 versiones diferentes. Entre ellos, la última versión tiene una marca: HEAD-> master Esta es la ubicación de la versión actual que marca la rama actual, si no se muestra la ubicación actual, puede usar el siguiente comando para verla:
命令:git log --decorate 查看当前提交日志,且显示当前分支的当前版本所在位置
En el registro, delante de cada versión, hay una larga cadena de números aleatorios : b44a10787c2b2bcc7ceb9c39cf06309065518d4b, que es el ID de confirmación de cada envío , que es el valor obtenido a través del algoritmo SHA1. Git usa este ID único para distinguir cada envío.
-
Retroceder a la versión anterior
命令:git reset --hard HEAD^ 回归到上一个版本,Git通过HEAD来判断当前所在的版本位置。那么上一个版本,就用HEAD^标示,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
En este momento podemos consultar el log git log
Encontré que solo hay dos versiones, verifiquemos el contenido del archivo
-
Volver a la versión especificada
Primero usamos
命令: git reflog 查看所有操作
Después de encontrarlo, puede usar el siguiente comando para volver a la versión especificada
命令:git reset --hard 版本号 回退到指定版本
Estamos de vuelta en el tercer compromiso, y esta vez estamos mirando el archivo
resumen
-
Cómo ver el registro actual
git log solo puede ver la operación actual
-
Cómo ver todos los registros de operaciones
git reflog Ver todos los registros de operaciones
-
Cómo volver a la versión anterior
git reset --cabeza dura^
-
Cómo revertir a una versión específica
git reset --número de versión duro