2012-01-06 11 views
31

Quando si utilizza "Push to up ..." in Eclipse, i nuovi commit "locali" vengono trasferiti al repository remoto e il ref branch remoto viene aggiornato nel repository locale (quindi master e origin/master fanno riferimento allo stesso commit).Qual è la differenza tra "Push ..." e "Push to up ..." in Eclipse

Quando si utilizza "Push ..." e si aggiunge un push ref sul master nella finestra della procedura guidata (refs/heads/*), i nuovi commit "locali" vengono trasferiti al repository remoto (come in precedenza) ma il riferimento remoto non viene aggiornato nel repository locale (quindi master fa riferimento all'ultimo commit ma origin/master non è stato spostato).

Qual è la differenza tra questi due modi di lavorare? È utile per particolari flussi di lavoro decentrati? Quali sarebbero i corrispondenti comandi git di questi due approcci?

+2

Buona domanda; Non ho mai sentito e non riesco a immaginare un caso d'uso in cui il ramo tracciato remoto non viene aggiornato quando si preme. – Mot

risposta

16

Push to Upstream .. spinge il ramo come ci si aspetterebbe da un ramo di localizzazione remota.

push ... apre una finestra di dialogo e consente di specificare quali refspecs si dovrebbe spingere verso l'alto, compresi i tag, i casi particolari come la testa: refs/teste/master, ecc

Che non aggiorna origine/il master sembra un bug per me, o forse stanno aspettando il prossimo recupero per aggiornare l'origine. Mi piacerebbe aprire un bug in https://bugs.eclipse.org/bugs/enter_bug.cgi?product=EGit&component=UI

PW

4

Come suggerito da Paolo, ho aperto un bug su Bugzilla di EGit e ottenuto una spiegazione c'è.

Quando viene utilizzato "Push ...", EGIT PushWizard chiama il comando di JGit con gli URI del repository, non con i loro nomi. Ecco perché JGit non può aggiornare il ramo di monitoraggio remoto.

Il bug è ancora aperto così possiamo sperare che in una futura release, "Push ..." fatto da un "repository remoto configurato" aggiornerà remota di monitoraggio ramo.

0

push ... apre una finestra di dialogo e consente di specificare quali refspecs si dovrebbe spingere verso l'alto, compresi i tag, i casi particolari come la testa: refs/teste/master, ecc

Impostazioni extra con la spinta sono disponibili dalle viste Git Repositories o Package Explorer, ma è necessario scegliere l'opzione corretta.

Da Git Repositories vista:

  1. destro del mouse sul nome del pronti contro termine.
  2. Scegliere Push
  3. Clicca Next

O

  1. Espandere la cartella Remotes.
  2. Fai clic destro su origin
  3. Scegli Configure Push...
  4. Fare clic sul pulsante Advanced

(è anche possibile espandere origin quindi fare clic destro sul Push e andare a Configure Push... quindi premere il pulsante Advanced)

dal Package Explorer vista

  1. Fare clic con il tasto destro del mouse sulla cartella del progetto (in alto sulla maggior parte degli articoli).
  2. Team ->Remote ->Push ->Next (equivale a premere il pulsante "Avanzate" nei passaggi precedenti.)

O

  1. fare clic destro su cartella del progetto (in cima alla maggior parte degli oggetti).
  2. Team ->Remote ->Configure Push to Upstream...
Problemi correlati