2013-08-09 22 views
5

Ho un repository locale che desidero inviare a più repository remoti (firstremote, secondremote). Questo può essere fatto semplicemente modificando .git/config e creando un nuovo remote con più url s.git push su diversi rami su più telecomandi

Ma in più voglio spingere il mio ramo locale in filiali remote con nomi diversi. Per esempio. spingere (mybranch) a una filiale denominata firstbranch su firstremote ea secondbranch su secondremote.

Per questo non ho idea di come specificare i diversi nomi di rami upstream.

Nota: mi piacerebbe eseguire il push automaticamente con un singolo git push.

+0

http://stackoverflow.com/questions/520650/how-do-you-make-an-existing-git-branch-track- a-remote-branch? rq = 1 –

+0

So come usarlo per un singolo upstream, ma non come impostare più per lo stesso ramo – ejoerns

+2

Basta creare un alias che spinga a più telecomandi. –

risposta

2

Usa due punti! Come da git-push doc:

Il formato di un parametro è un plus opzionali +, seguito da l'arbitro fonte, seguito da due punti:, seguito dal rif destinazione. Si usa per specificare con quale oggetto l'aggiornamento nel repository remoto deve essere aggiornato. Se non è specificato , il comportamento del comando è controllato dalla variabile di configurazione push.default .

Il è spesso il nome del ramo che si vorrebbe spingere, ma può essere qualsiasi arbitraria "SHA-1", come ad esempio maestro ~ 4 o HEAD (vedi gitrevisions (7)).

Il dice che il ref sul lato remoto viene aggiornato con questo push . Le espressioni arbitrarie non possono essere utilizzate qui, un riferimento effettivo deve essere denominato. Se: è omesso, lo stesso riferimento verrà aggiornato.

Quindi, questo dovrebbe fare il trucco:

`git push firstremote mybranch:firstbranch` 
`git push secodremote mybranch:secondbranch` 
+0

Sì, conosco questa sintassi. Forse non l'ho menzionato esplicitamente ma preferirei usare un singolo comando push con meno opzioni possibili per semplificare il flusso di lavoro. Non è possibile? – ejoerns

+1

Una spinta è per un telecomando. [Un telecomando può avere più URL] (http://stackoverflow.com/a/4255934/750510), quindi puoi inviare a più url con un solo comando, ma non risolve il problema di nominare i rami e IMHO questo è non ne vale la pena. – madhead

+0

Sì, è quello che ho menzionato nella mia domanda. Poi devo farlo manualmente o scrivere un 2-liner;) Grazie mille – ejoerns