Со страницы руководства git-branch :
git branch --contains <commit>
Только те списки веток, которые содержат указанный коммит (HEAD, если не указан). Подразумевает --list
.
git branch -r --contains <commit>
Списки удаленного отслеживания филиалов , а также (как уже упоминалось в user3941992 «s ответ ниже) , то есть„местные отделения , которые имеют прямое отношение к удаленной ветви“.
Смотрите также эту git готовую статью.
--contains
Тег будет выяснить , если определенный коммит был внесен в еще в вашей отрасли. Возможно, вы получили коммит SHA из патча, который, как вы думали, применили, или вы просто хотите проверить, есть ли коммит для вашего любимого проекта с открытым исходным кодом, который сокращает использование памяти на 75%.
$ 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
Примечание. Если коммит находится в удаленной ветви отслеживания , добавьте-a
опцию .
(как комментарии MichielB ниже )
git branch -a --contains <commit>
MatrixFrog комментирует, что показывает только то, какие ветви содержат этот точный коммит.
Если вы хотите знать, какие ветви содержат «эквивалентный» коммит (то есть, какие ветви имеют вишню, выбранную для этого коммита), то это git cherry
:
Потому что git cherry
сравнивается набор изменений, а не идентификатор фиксации (sha1) , вы можете использовать, git cherry
чтобы выяснить, был ли принятый вами локально коммит применен <upstream>
под другим идентификатором фиксации.
Например, это произойдет, если вы отправляете патчи <upstream>
по электронной почте, а не нажимаете или извлекаете коммиты напрямую.
__*__*__*__*__> <upstream>
/
fork-point
\__+__+__-__+__+__-__+__> <head>
(Здесь коммиты отмечены-
' не будут отображаться git cherry
, то есть они уже присутствуют <upstream>
.)