Depuis la page de manuel de git-branch :
git branch --contains <commit>
Liste uniquement les branches qui contiennent le commit spécifié (HEAD si non spécifié). Implique --list
.
git branch -r --contains <commit>
Répertorie également les branches de suivi à distance (comme mentionné dans la réponse de user3941992 ci-dessous) qui sont des "branches locales qui ont une relation directe avec une branche distante".
Voir aussi cet article prêt pour git .
La --contains
balise déterminera si un certain commit a déjà été introduit dans votre branche. Vous avez peut-être un SHA de validation à partir d'un correctif que vous pensiez avoir appliqué, ou vous voulez simplement vérifier si la validation de votre projet open source préféré qui réduit l'utilisation de la mémoire de 75% est encore disponible.
$ 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
Remarque: si la validation se trouve sur une branche de suivi à distance , ajoutez l' -a
option .
(comme MichielB commente ci-dessous )
git branch -a --contains <commit>
MatrixFrog fait remarquer qu'elle ne montre que les branches qui contiennent cet engagement exact .
Si vous voulez savoir quelles branches contiennent un commit "équivalent" (c'est-à-dire quelles branches ont choisi ce commit) git cherry
:
Parce que git cherry
compare l'ensemble de modifications plutôt que l'ID de validation (sha1) , vous pouvez utiliser git cherry
pour savoir si une validation que vous avez effectuée localement a été appliquée <upstream>
sous un autre ID de validation.
Par exemple, cela se produira si vous alimentez des correctifs <upstream>
par e-mail plutôt que de pousser ou de tirer directement les commits.
__*__*__*__*__> <upstream>
/
fork-point
\__+__+__-__+__+__-__+__> <head>
(Ici, les commits marqués ' -
' n'apparaissent pas git cherry
, ce qui signifie qu'ils sont déjà présents dans <upstream>
.)