2012-07-13 22 views
14

Tengo un git repo local en mi estación de trabajo que llevo a una ubicación de dropbox para poder bajarlo a mi laptop vía git pull remote dropbox.Git push failed after 'git reset --hard HEAD ~ 1' of repo local

Ayer comprobé un cambio en mi estación de trabajo, lo comprometí y git push dropbox 'ed it. No hice un git pull desde mi computadora portátil porque sospechaba que iba a terminar tirando ese compromiso.

Hoy he decidido tirar que cometen distancia, así que en mi estación de trabajo que hice:

git reset --hard HEAD~1 

Hasta ahora, todo bien. Ahora quiero volver a hacer esto en Dropbox, para que en mi computadora portátil pueda fusionar y comprometer desde allí. Así que en mi estación de trabajo he intentado:

git push dropbox 

Y git se quejaron de que:

! [rejected] master -> master (non-fast-forward) error: failed to push some refs to '\My Dropbox\dev\repos\xcast.git' To prevent you from losing history, non-fast-forward updates were rejected Merge the remote changes (e.g. 'git pull') before pushing again. See the 'Note about fast-forwards' section of 'git push --help' for details.

¿Cómo llego a mi worstation y Dropbox volver a sincronizarse de nuevo?

Respuesta

28

empuje de trabajo debe: git push -f dropbox

Git se quejaba de que el mando a distancia todavía tiene ese extra de confirmación, y por lo tanto están detrás de ella en términos de la historia.

+1

¿Hay alguna repercusión negativa de hacer esto? –

+0

@Grunch: sí, pierdes la confirmación en el control remoto. Si compartió ese compromiso con alguien más, las historias pueden divergir. –

+1

@Grunch Sí, solo fuerza forzada si está seguro de que nadie ya ha realizado los cambios (o usted es el único con acceso) – jli

Cuestiones relacionadas