Estaba cambiando el código en git, tuve algunos conflictos de fusión. Resolví los conflictos e hice "git add". En este punto me olvidé de hacer "git rebase --continuar". Continué con la codificación e hice un "commit git" para los cambios. Ahora estoy en "sin rama" y no puedo hacer "git rebase --continuar" ahora. ¿Cómo puedo solucionar esto?Se olvidó de "git rebase --continuar" e hizo "git commit". ¿Como arreglar?
Respuesta
Tendría que probarlo, pero creo que esto es lo que haría:
- Tag tu último commit (o simplemente escriba su SHA1 algún lugar para que no se pierda):
git tag temp
git rebase --abort
- Haga la rebase nuevamente. Tendrás que resolver la fusión nuevamente. :(
git rebase --continue
git cherry-pick temp
El problema con esto es que su temp
cometer probablemente contiene tanto la resolución de la fusión, y el nuevo código. Por lo tanto, podría ser difícil, pero me gustaría probar y ver si funciona.
O bien puede etiquetar como dice @MatrixFrog o puede guardarlo también como un parche. Luego haz la rebase abortar. Verifique el estado para asegurarse de que el repositorio esté en un estado que sabe que no tuvo problemas y luego inicie la búsqueda y la rebase. – yasouser
No hagas esto. Vea la respuesta de kirikaza a continuación para una forma mucho más simple/limpia. No te metas con la elección selectiva y la resolución de conflictos por segunda vez. – tandrewnichols
@Abhilash Por favor, acepte la respuesta de kirikaza. Yo (al igual que tandrewnichols) hice esto y había una manera mucho más sencilla (y Internet parece estar de acuerdo, ya que esa respuesta tiene 4x los votos a favor). –
Just do git reset --soft HEAD^
. se mueve el puntero de cabecera a su padre, pero mantiene el árbol de trabajo y añade el cambio de combinación con el índice. Así se puede continuar con rebase git rebase --continue
como antes.
Esto funcionó por completo, y también fue la primera vez que encontré un uso para --oft. Es bueno saber cómo funciona, ¡gracias! – mmocny
esto es increíble !! –
Esta es la respuesta correcta chicos –
- 1. No se puede continuar git rebase
- 2. Git post commit: skip --amend y rebase
- 3. `git svn rebase` vs` git rebase trunk`
- 4. git - configuración de un padre de commit sin rebase
- 5. git: eliminar 2nd commit
- 6. recuperándose de git rebase
- 7. ¿Se requiere git svn rebase antes de git svn dcommit?
- 8. Diferencia entre git pull --rebase, git rebase y git merge
- 9. git rebase después de git merge anterior
- 10. `git rebase`
- 11. Principios básicos de git rebase
- 12. git pull VS git fetch git rebase
- 13. git pull --rebase
- 14. git rebase cometer selección
- 15. git: use "commit --cleanup = espacio en blanco" con "rebase --interactive"
- 16. ¿Puede aplicar git dejar marcadores de conflicto en línea como git rebase?
- 17. Deshacer un git pull --rebase
- 18. Git rebase --continuar las quejas incluso cuando se hayan resuelto todos los conflictos de fusión
- 19. "git rebase origin" vs. "git rebase origin/master"
- 20. git rebase interactivo no se compromete a recoger
- 21. git: push a single commit
- 22. phpstorm git pull --rebase
- 23. git stash pop vs git rebase
- 24. git rebase interactive: squash merge commits together
- 25. git crash during rebase
- 26. Rebase a merge commit
- 27. git rebase problemas
- 28. Git: duplicado se confirma después de rebase local, entonces tire
- 29. Git - ¿Cómo arreglar la base de datos interactiva "corrompida"?
- 30. git commit symlink como un archivo normal
¿Qué dice 'git status'? – hvgotcodes
# No está actualmente en ninguna sucursal. nada que confirmar (directorio de trabajo limpio) – Abhilash