2015-12-10 7 views
6

Supponiamo che io sono i seguenti commit nella mia filiale locale,Come avrei potuto impegnarsi in ramo a distanza uno per uno automaticamente

la più antica è 17081fa, l'ultima è 12ba64e

Come potrei spingere questi si impegna a distanza git server uno per uno.

Prendiamo un esempio,

I don't want to push all local commits at once. 

the push order should be 

17081fa -> 30854d2 -> ... -> 12ba64e 

Questi commit sono pronti a spingere al server, ma hanno bisogno di essere spinti ad uno ad uno,

Ho bisogno di sapere qual è il comando può farmi fare in quel modo , grazie

* 12ba64e 
* 0fdf1a6 
* 75428a3 
* 00f837f 
* da9d16d 
* 3f34af9 
* b6066e9 
* cdf2dbf 
* 0d5cc8b 
* db8744c 
* df564b9 
* 30854d2 
* 17081fa 
+0

perché io non sono in grado di verificare la funzionalità sulla mia macchina locale , push si impegna a uno a uno sul server remoto e l'attivazione dell'elemento della configurazione può farmi trovare rapidamente il buggy commit – newBike

risposta

14

è possibile specificare semplicemente il pieno refspec quando si spinge:

git push origin 17081fa:branchname 
git push origin 30854d2:branchname 
# etc 

Se si vuole automatizzare un po ', si potrebbe scrivere un ciclo di shell litte che attende per la vostra pressione del tasto:

for hash in $(git rev-list 17081fa^..12ba64e); do 
    read -p "Pushing $hash. Press return to continue."; 
    git push origin $hash:branchname; 
done 
+0

cool, questo è quello che mi serve, grazie – newBike

+0

wow, bella spiegazione, quindi +1 – Randroid

Problemi correlati