[Git] Código enviado y restaurado por error (entorno real del proyecto, no solo hablando en papel)

fondo

RT, mis ojos estaban borrosos hoy y accidentalmente [fusioné] la rama de trabajo en una rama de características irrelevantes, y el código se envió al almacén remoto. Por lo tanto, sólo puedes intentar volver a la última confirmación.
[Fusionar] Hay un punto en la rama que es inevitable para nosotros y es difícil de describir con palabras. Permítanme hacer un dibujo para que todos lo vean, de la siguiente manera:

inserte la descripción de la imagen aquí
Todo el mundo debería saber que se producirá este fenómeno y debería poder comprenderlo claramente mirando la imagen.
Además, dado que varios colegas tienen sus propias sucursales durante el proceso de desarrollo, habrá ramales extremadamente intrincados después de la fusión, lo cual es un dolor de cabeza de ver.

Soluciones

Pero el problema hay que solucionarlo. En primer lugar, ¿sabe qué comandos necesita utilizar si desea restaurar?
Creo que todo el mundo tiene Baidu, normalmente obtendrás los dos comandos siguientes:

  1. Restablezca el código del proyecto actual a una versión determinada:git reset --hard [版本id]
  2. Forzar un compromiso con la versión anterior:git push origin [branch] --force

Los amigos sin experiencia pueden estar un poco confundidos. ¿Cuál es la identificación de la versión y cómo determinarla?

¿Cuál es la identificación de la versión?

Creo que la mayoría de la gente puede entender esta pregunta. Es decir, cada vez que enviamos el código al almacén, para distinguir la diferencia entre este registro de envío y el anterior, debemos tener una marca de número de versión, que es el número de versión. Si es un usuario de ideas, puede mirar la imagen a continuación para obtener el [número de versión incompleta] del envío actual: como se muestra en la
inserte la descripción de la imagen aquí
imagen a continuación, significa que el [número de versión incompleta] del [parámetro de formato de fecha modificado ] enviado por mi colega esta vez es: 9c948858(Aunque es un número de versión incompleto, ya está disponible. La probabilidad de que los prefijos de números de versión entren en conflicto no es muy alta).
Por supuesto, también podemos obtener el número de versión completo, que es más simple. Alinee directamente con el registro de envío actual, haga clic derecho y seleccione "Copiar número de revisión, también puede obtener
inserte la descripción de la imagen aquí

cómo determinar

Cómo determinar que esta es la versión que desea revertir depende de usted. Pero como dije antes, dado que el desarrollo de múltiples ramas inevitablemente resultará en registros de confirmación intrincados, la parte más difícil a veces es el proceso de encontrar este punto de reversión.
Aquí hablaré de cómo lo encontré, es muy simple y muy complicado. Después de descubrir que había cometido un error de inserción, le pedí a mi colega que no actualizara el código primero y que primero me enviara el número de versión en su almacén local, jajaja.

implementar

Ahora que tengo el número de versión, puedo empezar a ejecutar comandos.
De la siguiente manera
: Ejecutar primero: git reset --hard 8a837758e2316f260957d658326e82e16c14862c
luego ejecutar: git push origin yzmyd_branch_0824 --force
este último --forcees el significado de envío forzado; sin esto, se le solicitarán conflictos de versión.

Supongo que te gusta

Origin blog.csdn.net/qq_32681589/article/details/132470375
Recomendado
Clasificación