Cometí un error al configurar un control remoto en mi repositorio git y fui a buscar desde un proyecto totalmente diferente.Reparar el historial de Git después de recuperar el Repo incorrecto
Afortunadamente, no hubo fusión, pero ahora tengo el historial de 2 proyectos flotando en mi repositorio y estoy tratando de encontrar la forma de hacer que mi repos vuelva al estado en que se encontraba antes de hacer el error. ha podido recuperar.
He estado leyendo sobre reflog
, rebase
, gc
y otros comandos tratando de averiguar lo que ayudará a deshacerse de las cosas que accidentalmente exagerado, pero hasta el momento no tengo ninguna.
Parece que tengo el historial de ambos proyectos en mi repositorio, pero son totalmente independientes. Hay esencialmente 2 árboles separados de confirmaciones que se ejecutan en paralelo entre sí, de hecho, esto es lo que veo en gitk
cuando se mira en todas las ramas:
Se puede ver que los comete en el medio están no conectado a los commits al principio y al final de la historia. En cuanto a la fecha, están intercalados, pero gitk
no los muestra intercalados por alguna razón.
Los commits aislados (en el medio de la imagen) son de los que trato de deshacerme, y no parecen estar unidos a ninguna rama. No hay ninguna ruta desde ninguno de los HEAD en mi repo hasta este conjunto de confirmaciones.
Hasta ahora he intentado (en orden en caso de que se hace una diferencia):
git remote prune
git prune
git gc
git gc --aggressive --prune=tomorrow
git remote update --prune
git fetch --all
pero nada ha ayudado todavía. ¿Alguien puede sugerirme cómo puedo eliminar estos commits de mi repositorio?
Gracias, eso era exactamente lo que necesitaba, no se me ocurrió que la etiqueta podría impedirme eliminar las confirmaciones +1 – chrisbunney