Von der git-branch Handbuchseite :
git branch --contains <commit>
Listen Sie nur Zweige auf, die das angegebene Commit enthalten (HEAD, falls nicht angegeben). Impliziert --list
.
git branch -r --contains <commit>
Listen Remote - Tracking - Filialen als auch (wie in erwähnt user3941992 ‚s Antwort unten) , die‚lokale Niederlassungen , die eine direkte Beziehung zu einem entfernten Zweig haben‘sind.
Siehe auch diesen git ready Artikel.
Das --contains
Tag wird herausfinden, ob ein bestimmtes Commit bereits in Ihre Filiale eingegeben wurde. Vielleicht haben Sie einen Commit-SHA von einem Patch, von dem Sie dachten, Sie hätten ihn angewendet, oder Sie möchten nur überprüfen, ob ein Commit für Ihr bevorzugtes Open Source-Projekt, das die Speichernutzung um 75% reduziert, noch vorhanden ist.
$ git log -1 tests
commit d590f2ac0635ec0053c4a7377bd929943d475297
Author: Nick Quaranto <nick@quaran.to>
Date: Wed Apr 1 20:38:59 2009 -0400
Green all around, finally.
$ git branch --contains d590f2
tests
* master
Hinweis: Wenn sich das Commit in einem Remote-Tracking-Zweig befindet , fügen Sie die -a
Option hinzu .
(wie MichielB unten kommentiert )
git branch -a --contains <commit>
MatrixFrog gibt an , dass nur angezeigt wird , welche Zweige genau dieses Commit enthalten.
Wenn Sie wissen möchten, welche Zweige ein "äquivalentes" Commit enthalten (dh welche Zweige dieses Commit ausgewählt haben), gilt Folgendes git cherry
:
Da git cherry
der Änderungssatz anstelle der Festschreibungs-ID (sha1) verglichen wird , können Sie git cherry
herausfinden, ob ein lokal vorgenommenes Festschreiben<upstream>
unter einer anderen Festschreibungs-ID angewendet wurde .
Dies ist beispielsweise der Fall, wenn Sie Patches <upstream>
per E-Mail füttern, anstatt Commits direkt zu verschieben oder abzurufen.
__*__*__*__*__> <upstream>
/
fork-point
\__+__+__-__+__+__-__+__> <head>
(Hier werden die mit ' -
' gekennzeichneten Commits nicht angezeigt git cherry
, was bedeutet, dass sie bereits vorhanden sind <upstream>
.)