2015-12-10 3 views
6

Angenommen, ich habe folgende Commits in meinem lokalen Niederlassung,Wie könnte ich zu entfernten Zweig begehen eins nach dem anderen automatisch

die älteste ist 17081fa, die neueste ist 12ba64e

Wie konnte ich schiebe diese Commits Fernbedienung git Server eins nach dem anderen.

ein Beispiel nehmen,

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

the push order should be 

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

Diese Commits sind bereit, auf den Server zu schieben, müssen aber eins nach dem anderen, geschoben werden

ich wissen muss, was der Befehl ist kann mich so tun lassen dank

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

, weil ich die Funktionalität auf meinem lokalen Rechner zu testen, bin nicht in der Lage sein, , push commits eins nach dem anderen auf remote server, und triggern das CI kann mich das Buggy Commit schnell finden – newBike

Antwort

14

Sie können einfach die volle Refspec angeben beim schieben:

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

Wenn Sie ihm ein bisschen automatisieren wollen, können Sie eine leidet Shell-Schleife schreiben, die für Ihre keypress warten:

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, das ist, was ich brauche, danke – newBike

+0

wow, nette Erklärung, so +1 – Randroid

Verwandte Themen