ultimo - ¿Cómo puedo eliminar mi último commit en mi repositorio de git local?
git revert head (4)
Hay una manera, de hecho, en git, estoy seguro de que hay una multitud de formas de hacerlo ...
Podrías hacerlo:
git stash # Stash your changes
git pull # Pull the changes
git stash pop # Pop your stash
Podrías hacerlo:
git pull --rebase # Bring in the changes and apply yours on top of it.
Podrías hacerlo:
git stash # Stash your changes
git checkout <commit> # Pull a specific commit.
git stash pop # Pop your stash
Espero eso ayude.
Cuando hago un ''git pull'', tengo un conflicto con la confirmación de la cabeza. Así que hice un ''git rebase --abort''
¿Puedo ''guardar'' mi compromiso en un "parche" y luego hacer un tirón de git?
Lo que quiero emular es:
- No me comprometí, pero hice un ''git stash'' en su lugar
- Haz un git pull para evitar cualquier error de fusión
Así que necesito de alguna manera "dar marcha atrás al reloj". ¿Es eso posible con git?
Primero sugiero hacer una copia de seguridad de tu rama:
git branch your_branch_backup
Entonces la forma más fácil es:
git reset --soft <commit> #Go back in time but without loosing your changes
git stash #Stash your changes
git pull #Refresh your branch with origin
git stash pop #Re-apply your changes on the refreshed branch
Entonces puedes cometer como de costumbre.
Si confirmó los cambios en su repositorio local, podría hacer una rebase directa:
origen git fetch
git rebase origin / master
Esto desenrolla sus confirmaciones locales del maestro local, aplica nuevas confirmaciones de origen / maestro y luego reproduce sus confirmaciones locales.
En su situación, esto resultará en un conflicto y git le dirá qué archivos necesitan ser editados para resolver el conflicto. Después de hacerlo, git add
esos archivos y luego git commit
sin argumentos para volver a confirmar los cambios.
Su parche 7826b2
aún causará un conflicto cuando se aplique después de tirar, pero puede hacer lo siguiente:
git reset --soft HEAD^
git stash
git pull
git stash pop # Will cause a conflict
git commit # Re-commit 7826b2
Otro flujo de trabajo también es posible:
git reset --hard HEAD^
git pull
git cherry-pick 7826b2 # Will cause a conflict
El segundo flujo de trabajo se basa en el hecho de que Git mantiene el commit de 7826b2
en el reflog (puede pensar en él como en la papelera de reciclaje) aunque reinicie los cambios que introdujo con la primera línea.