El código local se elimina y la escena se restaura, y el comando git recupera el código

Usa la escena, espero que todos no cometan tal error.

La cosa es así, en el desarrollo de la empresa, porque la computadora está demasiado rota, la empresa me cambió a una computadora con mejor configuración, pero la computadora la usó otra persona, después de que instalé el entorno, ya que la computadora ya tiene git, comencé directamente a extraer el código, luego borré la cuenta de git y luego surgió el problema. (Recuerde estar seguro, primero borre la cuenta de git y el buzón y luego extraiga el código para el desarrollo)

¿Bajo qué circunstancias se borrará el código local por error?

Cuando envío el código después del desarrollo, solo puedo agregar pero no puedo confirmar. Me dice que mi rama está limpia y no ha sido rastreada. La respuesta que me dan en Internet es forzar el empuje, así que fuerzo el empuje, y el el código se elimina directamente, por lo que entré en pánico. Inconscientemente miré la ventana de git y de repente descubrí que...
inserte la descripción de la imagen aquí
No tengo esta rama en absoluto, y este estado debería ser la cuenta de otra persona. Dado que la rama no es correspondiente, el almacén local no está almacenado en él, y el empuje forzado causó directamente la pérdida del código. ¿Reescribirlo? Reescribir es imposible, así que déjame compartir cómo lo recuperé.

git recupera el código local

En este momento, lo primero que pensé fue en imprimir el registro. Cuando usé git log, descubrí que estaba equivocado. Este comando solo puede imprimir todos los registros de envío del almacén remoto. Mi código se pierde localmente. Puedo No lo encuentro Sin registro, luego ejecuté otro comando git reflog.
inserte la descripción de la imagen aquí
Este comando imprimirá el registro de su envío local cada vez. El graffiti es su ID de versión local. Solo necesita encontrar la versión a la que desea volver. Ejecute el siguiente comando.
inserte la descripción de la imagen aquí
git reset --hard 'la identificación de la versión local mencionada anteriormente', después de ejecutar este comando, se encontrará el código perdido, pero ahora esta rama no es mi rama, en este momento cambié a la rama maestra y descubrí que es Aún así, el estado cuando se acababa de extraer el código era muy limpio, así que volví a la rama anterior (el estado de las cuentas de otras personas), así que ejecuté el siguiente comando.

// 就是把当前回退回来的版本的代码,复制一份并切换到我账号的dev分支上
git checkout -b dev
//因为别人账号上的代码我无法管理,无法合并,无法push

Como no necesito tantas ramas para un desarrollo, volví a la rama maestra y ejecuté el siguiente comando

// 就是把dev上的回退回来的的代码,合并到master分支上来
git merge origin/dev
//因为我是单人开发,只有一个分支对应了远程分支。

Ahora que el código se ha vuelto a encarrilar, no necesito hablar sobre las siguientes operaciones. Direct regular git tres ráfagas servirá.

Supongo que te gusta

Origin blog.csdn.net/m0_52313178/article/details/119065815
Recomendado
Clasificación