Dari halaman manual git-branch :
git branch --contains <commit>
Hanya daftar cabang yang berisi komit yang ditentukan (KEPALA jika tidak ditentukan). Tersirat --list
.
git branch -r --contains <commit>
Daftar cabang pelacakan jarak jauh juga (seperti yang disebutkan dalam jawaban user3941992 di bawah) yaitu "cabang lokal yang memiliki hubungan langsung dengan cabang jauh".
Lihat juga artikel git ready ini.
The --contains
tag akan mencari tahu apakah tertentu komit telah dibawa belum ke dalam cabang Anda. Mungkin Anda mendapat komit SHA dari patch yang Anda pikir telah Anda terapkan, atau Anda hanya ingin memeriksa apakah komit untuk proyek open source favorit Anda yang mengurangi penggunaan memori hingga 75% masih ada.
$ 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
Catatan: jika komit ada di cabang pelacakan jarak jauh , tambahkan -a
opsi .
(seperti komentar MichielB di bawah )
git branch -a --contains <commit>
MatrixFrog berkomentar bahwa itu hanya menunjukkan cabang yang berisi komit yang tepat .
Jika Anda ingin tahu cabang mana yang berisi komit "ekivalen" (mis. Cabang mana yang sudah memilih cherry yang komit) itu git cherry
:
Karena git cherry
membandingkan perubahan yang dilakukan daripada id komit (sha1) , Anda dapat menggunakan git cherry
untuk mengetahui apakah komit yang Anda buat secara lokal telah diterapkan di <upstream>
bawah id komit yang berbeda.
Misalnya, ini akan terjadi jika Anda memberi makan tambalan <upstream>
melalui email daripada mendorong atau menarik komitmen secara langsung.
__*__*__*__*__> <upstream>
/
fork-point
\__+__+__-__+__+__-__+__> <head>
(Di sini, komit bertanda ' -
' tidak akan muncul git cherry
, artinya sudah ada <upstream>
.)