2012-01-06 20 views
31

Cuando se utiliza "Push a aguas arriba ..." en Eclipse, las nuevas confirmaciones "locales" son empujados al repositorio remoto y el Remote Branch Ref se actualiza en el repositorio local (por lo tanto, master y origin/master hacen referencia al mismo compromiso).¿Cuál es la diferencia entre "Push ..." y "Push to aguas arriba ..." en Eclipse

Cuando se utiliza "Push ..." y añadiendo una referencia empuje de maestría en la ventana del asistente (refs/heads/*), las nuevas confirmaciones "locales" son empujados al repositorio remoto (como antes) pero el árbitro rama remoto no se actualiza en el repositorio local (por lo que master referencia el último compromiso pero origin/master no se movió).

¿Cuál es la diferencia entre estas dos formas de trabajo? ¿Es útil para flujos particulares de trabajo descentralizados? ¿Cuáles serían los comandos git correspondientes de estos dos enfoques?

+2

Buena pregunta; Nunca escuché y no puedo imaginar un caso de uso donde la rama de seguimiento remoto no se actualiza al presionar. – Mot

Respuesta

16

Push to Aguas arriba .. empuja su sucursal como se puede esperar de una rama de seguimiento remoto.

empuje ... Se abre un cuadro de diálogo y le permite especificar qué refspecs debe empujar hacia arriba, incluyendo etiquetas, casos especiales como el de la cabeza: refs/heads/master, etc.

Eso no actualiza origen/el maestro me parece un error, o tal vez están esperando la próxima búsqueda para actualizar el origen. Abriría un error en https://bugs.eclipse.org/bugs/enter_bug.cgi?product=EGit&component=UI

PW

4

Según lo sugerido por Paul, abrí una bug en Bugzilla de EGit y tengo una explicación allí.

Cuando "Push ..." se utiliza, el EGit PushWizard llamadas de comandos de JGit con los URI repositorios, no sus nombres. Es por eso que JGit no puede actualizar la rama de seguimiento remoto.

El error está todavía abierta para que podamos esperar que en una versión futura, "Empuje ..." hecho a partir de un "repositorio remoto configurado" va a actualizar a distancia el seguimiento de la rama.

0

empuje ... Se abre un cuadro de diálogo y le permite especificar qué refspecs debe empujar hacia arriba, incluyendo etiquetas, casos especiales como CABEZA: refs/heads/master, etc.

ajustes adicionales con push está disponible en cualquiera de los Git Repositories o Package Explorer puntos de vista, pero hay que elegir la opción correcta.

De Git Repositories vista:

  1. Haga clic en el nombre de la cesión temporal.
  2. Elija Push
  3. Haga clic Next

O

  1. expanda la carpeta Remotes.
  2. Haga clic derecho en origin
  3. Elija Configure Push...
  4. Haga clic en el botón Advanced

(También puede ampliar origin a continuación, haga clic en Push e ir a Configure Push... a continuación, pulse el botón Advanced)

De la Package Explorer view

  1. Haga clic derecho en la carpeta del proyecto (el elemento más superior).
  2. Team ->Remote ->Push ->Next (equivalente a pulsar el botón "Avanzado" en los pasos anteriores.)

O

  1. Haga clic derecho en la carpeta del proyecto (el mejor artículo)
  2. Team ->Remote ->Configure Push to Upstream...
Cuestiones relacionadas