2012-09-06 39 views
11

me he encontrado un problema con mi origen/rama que se está fuera de sincronía con mi sucursal local, véase más adelanteEGit en Eclipse: cómo hacer git push --force?

My commit history

Cuando trato de empujar desde mi local de "puesta en escena" rama en el origen/la ramificación provisional obtengo el error "rechazado - no avance rápido".

Uso Eclipse con el módulo EGit en una PC con Windows.

De another post here Veo que puedo resolver mi problema con el "git push --force origen staging" para anular la rama de origen/etapas con mi rama local.

Sin embargo, no veo esa opción con EGit, y no veo cómo abrir una consola en EGit para hacer esto?

¿Alguien sabe si puedo hacer esto dentro de EGit?

OK - corrigió mi problema. Parece que tuve problemas con los Compromisos que no se habían retrotraído al origen/puesta en escena. Se encontró an overview here al usar el "git reset XXX: sin --hard", que restablece el marcador de bifurcación, pero guarda los cambios locales para renovaciones posteriores.

Gracias, Jason

Respuesta

0

Si lo hace un empuje de fuerza, se perderá todo lo añade a origin/staging después de fijar la ubicación faltante: cadena en la cabecera, y se le romper todos los demás ramas. No creo que sea eso lo que quieres. Probablemente quieras tirar primero, luego el empuje funcionará bien.

+0

A tener en cuenta que la atracción se trate de auto-fusión, y si tiene éxito, entonces todo funcionará bien Si no, el usuario tiene que fusionarse, comprometer eso y entonces debería estar bien. – eis

+0

Han intentado ambos Pull and Merge, ambos fallan. – Jason

+1

Merge fail msg: Fusión de revisiones 4092d67bbfda43148cc078674f2f2738720caade, 5df2879b3ecf2b7d0e1d0209a1f7862ce6f5aa9b con base 8643195cd4a8391497469a92d627ef5cf8480e13 utilizando la resolución de la estrategia como resultado: Falló. – Jason

5

¿Está seguro de que desea sobrescribir la sucursal remota y perder todas esas confirmaciones?

Si hay confirmaciones en la rama remota que no están en su sucursal local, debe combinarlos en su sucursal local antes de empujar

Por ejemplo, mientras que en su local de staging rama:

git merge origin/staging 

Sin embargo, si está seguro, entonces le sugiero que marque la opción "Actualizar la fuerza" en el push refspec.

Es un poco complicado de encontrar, pero la guía del usuario EGit explica que cuando se habla de Pushing to other Repositories, y la sección específica que se menciona la opción "Forzar actualización" es en el apartado de Push Ref Specifications

Editar 0: Con respecto a su fusión fallida, todavía no he encontrado una fusión que falla directamente en lugar de provocar un conflicto, y parece que puede ser known issue

+0

Acepto, Pull & Merge son mejores opciones, pero como dije anteriormente, ¿están fallando? – Jason

21

Me acabo de encontrar con un problema similar y esto es lo que hice :

  1. equipo -> Poder empuje ...
  2. Fuerza de sobreescritura de la rama del mando a distancia si existe y ha divergido
Cuestiones relacionadas