tag publicar practices delete create best git git-reset

publicar - git tags best practices



Restablecer sin perder archivos ya comprometidos (2)

Cuando accidentalmente envié un archivo a la rama incorrecta, normalmente uso git reset --hard HEAD~1 . Sin embargo, utilizando este método generalmente pierdo todos los archivos confirmados. ¿Hay una manera de restablecer un compromiso, sin perder los archivos editados?


Si bien Alex tiene mucha razón, podría sentir la tentación de intentar una secuencia diferente:

Si quisiera el compromiso en una rama por nacer:

git branch newbranch git reset --hard HEAD^

Si quisiera el commit en una rama existente:

git checkout otherbranch git cherry-pick firstbranch git checkout firstbranch git reset --hard HEAD^

El ejemplo completo de la respuesta de Alex.

git reset --soft HEAD^ git checkout otherbranch git commit -am "Message"

Tenga en cuenta que el último ejemplo fallará si el intento de "flotar" el cambio a la otra rama falla debido a conflictos. A continuación, tendrá que esconder / pagar / solicitar para entrar en resolución de conflictos.


no use --hard uso --soft en --soft lugar.

Por lo tanto, si quieres eliminar tu último compromiso, harías:

git reset --soft HEAD^