Für diejenigen, die noch nach einer einfachen Antwort suchen, schauen Sie sich git cherry an . Es vergleicht tatsächliche Unterschiede anstelle von Commit-Hashes. Das bedeutet, dass Commits berücksichtigt werden, die von Kirschen gepflückt oder neu gegründet wurden.
Überprüfen Sie zuerst den Zweig, den Sie löschen möchten:
git checkout [branch-to-delete]
Verwenden Sie dann Git Cherry, um es mit Ihrem Hauptentwicklungszweig zu vergleichen:
git cherry -v master
Beispielausgabe:
+ 8a14709d08c99c36e907e47f9c4dacebeff46ecb Commit message
+ b30ccc3fb38d3d64c5fef079a761c7e0a5c7da81 Another commit message
- 85867e38712de930864c5edb7856342e1358b2a0 Yet another message
Hinweis: Das -v
Flag soll die Festschreibungsnachricht zusammen mit dem SHA-Hash enthalten.
Zeilen mit dem '+' vor befinden sich in der zu löschenden Verzweigung, nicht jedoch in der Hauptverzweigung. Diejenigen mit einem '-' vor haben ein gleichwertiges Commit im Master.
Kombinieren Sie für NUR die Commits, die nicht im Master enthalten sind, Cherry Pick mit Grep:
git cherry -v master | grep "^\+"
Beispielausgabe:
+ 8a14709d08c99c36e907e47f9c4dacebeff46ecb Commit message
+ b30ccc3fb38d3d64c5fef079a761c7e0a5c7da81 Another commit message