2010-06-20 6 views
211

Mögliche Duplizieren:
Viewing Unpushed Git CommitsListe Git Commits nicht auf den Ursprung geschoben noch

Wie stelle ich alle Commits, die auf den Ursprung geschoben haben bisher noch nicht?

Alternativ, wie zu bestimmen, ob ein Commit mit bestimmten Hash bereits an den Ursprung geschoben wurde?

+0

Beginnend mit Git 2.5+ (Q2 2015), würde die tatsächliche Antwort 'git log @ {push} ..'. Sehen Sie sich die neue Abkürzung '@ {push}' an (verweisen Sie auf den Remote-Tracking-Zweig, auf den Sie drücken) in [meine Antwort unter "Unpushed Git Commits anzeigen"] (http://stackoverflow.com/a/30720302/6309) – VonC

Antwort

295

git log origin/master..master

oder allgemeiner:

git log <since>..<until>

Sie können dies mit grep nach einem bestimmten zu überprüfen, bekannt begehen:

git log <since>..<until> | grep <commit-hash>

Oder Sie können Verwenden Sie auch git-rev-list, um nach einem bestimmten Commit zu suchen:

git rev-list origin/master | grep <commit-hash>

+2

Was? wenn du schon 'git fetch''d hast und der Ursprung mehr Commits enthält, die du noch nicht gezogen hast? dann ist "Ursprung/Entwickeln" neuer als "Entwickeln" - wird diese Antwort noch die erwartete Liste von Zusagen geben, die noch nicht zum Ursprung verschoben wurden? – Kidburla

+2

@Kidburla Ja, das funktioniert immer noch in dieser Situation. 'git log origin/develop..develop' listet alle Commits auf, die nicht in den Entwicklungszweig des Ursprungs verschoben wurden. Die Umkehrung, 'git log develop..origin/develop ', listet alle Commits auf, die sich in der Ursprungsentwicklung befinden, aber noch nicht in die lokale Entwicklung übernommen wurden. –

+0

Wenn '' der aktuelle HEAD (der letzte Commit auf dem ausgecheckten Zweig) sein soll, dann kann er einfach weggelassen werden. Die zwei Punkte sind jedoch immer noch erforderlich: 'git logursprung/master..' (wie' git logursprung/master..HEAD') – CoDEmanX

33

wie zu bestimmen, ob ein mit bestimmtem Hash begehen bereits zum Ursprung gedrückt worden?

# list remote branches that contain $commit 
git branch -r --contains $commit 
+5

Cool, ich wusste nichts davon. +1 –

4

Ich habe ein cooles Skript gefunden, die unter anderen nützlichen Sachen, Informationen über nicht gedrückte Commits zeigen:

git-wtf

+0

Hum, wie installierst du es? sieht so aus, als ob es nur unter UNIX funktioniert. Aber wo soll das Skript gespeichert werden? (Ich bin es nicht gewohnt, Skripte aus dem Internet zu kopieren). Vielen Dank. – Vadorequest

+4

Die Verbindung ist ungültig – Rebs

+0

Die fehlerhafte Verbindung wurde repariert. Das ist der Grund, warum wir A) nicht mit bestimmten Revs verlinken, wenn wir nicht an dieser bestimmten Version interessiert sind, und B) Git History nicht neu schreiben/Force Push über bereits veröffentlichte Commits! –

Verwandte Themen