Asumiendo el mando a distancia se llama origen
git reset --hard HEAD
git checkout origin/master
git branch -D master
git checkout -b master
Lo que esto hace es:
(Opcional si git status dice no hay archivos modificados) Descartar cualquier archivos modificados en el disco (por eso reset --hard
)
Comprobación de la rama maestra remota (nota: estará en un estado de "cabeza separada")
Eliminar la master
rama local (tirar todos los cambios locales)
llamada la cabeza actual como la nueva rama master
Ahora es probable que desee hacer algo un poco diferente ... es decir, no deseche sus cambios, simplemente colóquelos en otra rama con nombre ...después de todo, nunca se sabe cuándo necesitará de nuevo
git checkout -b my-silly-changes
git branch -D master
git checkout -b master origin/master
que guarda los cambios actuales en una nueva rama local llamado my-silly-changes
y luego elimina la antigua rama local llamado master
y finalmente recrea desde la cabeza a distancia.
También debe hacer un 'git clean -xfd' para deshacerse de todos los archivos no rastreados (compilar productos, etc.) –
cool no sabía de eso –
Los primeros cuatro comandos, aunque son correctos, son innecesariamente detallados. Si está en 'master', solo 'git reset --hard origin/master' hará lo mismo que los cuatro comandos. Aún así, +1 por mencionar la opción de crear una sucursal local. – sleske