Acabo de eliminar la rama incorrecta con algunos cambios experimentales que necesito git branch -D branchName
.
¿Cómo recupero la rama?
git
branch
git-branch
Stefan Kendall
fuente
fuente
Respuestas:
Puede usar git reflog para encontrar el SHA1 de la última confirmación de la rama. Desde ese punto, puede recrear una rama utilizando
Editar: como dice @seagullJS, el
branch -D
comando le dice el sha1, por lo que si aún no ha cerrado el terminal, se vuelve realmente fácil. Por ejemplo, esto elimina y luego restaura inmediatamente una rama llamadamaster2
:fuente
git branch branchName origin/branchName
Si conoce el último SHA1 de la rama, puede intentar
Puede encontrar el SHA1 usando
git reflog
, descrito en la solución aquí .fuente
Si aún no ha empujado la eliminación, simplemente puede hacer:
fuente
Si acaba de eliminar la rama, verá algo como esto en su terminal:
Para restaurar la rama, use:
por ejemplo :
fuente
Primero: haga una copia de seguridad de todo su directorio, incluido el directorio .git.
Segundo: puede usar
git fsck --lost-found
para obtener la identificación de los commits perdidos.Tercero: rebase o fusione el commit perdido.
Cuarto: siempre piense dos veces antes de usar -D o --force con git :)
También podría leer esta buena discusión sobre cómo recuperarse de este tipo de error.
EDITAR: Por cierto, no ejecute
git gc
(ni permita que se ejecute solo, es decir, no ejecutegit fetch
ni nada similar) o puede perder sus confirmaciones para siempre.fuente
Gracias, esto funcionó.
// puedo ver mis archivos registrados en mi antigua sucursal
fuente
Sigue estos pasos:
1: Ingrese:
Esto mostrará todo el historial de confirmaciones, debe seleccionar el sha-1 que tiene la última confirmación que desea recuperar
2: cree un nombre de sucursal con la ID de Sha-1 que seleccionó, por ejemplo: 8c87714
fuente
Esto funcionó para mí:
fuente