2011-06-10 46 views
12

El repositorio remoto contiene una versión incorrecta. Tengo la copia de una buena versión localmente. Quiero reemplazar todo lo que está en el repositorio remoto con mi repositorio actual (el repositorio remoto tiene unas cuantas confirmaciones más (incluida una fusión) que no deberían haber sucedido).Reemplazando el repositorio remoto de git con mi repositorio

Si intento presionar, me dice que tengo que tirar primero, pero no quiero hacer eso, porque eso arruinaría mi versión local. Quiero que el repositorio remoto contenga lo que tengo localmente.

¿Cómo puedo hacer eso?

Respuesta

41
+0

Lo mismo: '! [remote rechazado] master -> master (avance rápido) ' – rid

+1

Luego debe desactivar' receive.denyNonFastForwards' en el repositorio del control remoto .git/config, si lo rechaza incluso con '--force' especificado. – Amber

+0

¿Cuál es el comando exacto que está ejecutando? – Amber

1
  1. Hacer una nueva rama local de su buena versión conocida
  2. Tire
  3. Cambiar a la mala rama conocida
  4. funden completamente su buena rama conocida en la rama mal conocido
  5. Confirmar y presionar

Suelo utilizar un proceso como este para conservar exactamente lo que ha cambiado, tener una rama aislada que es una buena copia conocida, etc. Probablemente sea excesivo en comparación con el uso de --force, pero lo prefiero.

+2

La 'fusión 'no funciona, porque los buenos cambios son más antiguos que los malos, por lo que no hay nada que fusionar. – rid

Cuestiones relacionadas