Bagi mereka yang masih mencari jawaban sederhana, lihat git cherry . Ini membandingkan diffs yang sebenarnya daripada melakukan hash. Itu berarti mengakomodasi komitmen yang telah diambil atau ditebangi ceri.
Pertama checkout cabang yang ingin Anda hapus:
git checkout [branch-to-delete]
lalu gunakan git cherry untuk membandingkannya dengan cabang pengembangan utama Anda:
git cherry -v master
Contoh output:
+ 8a14709d08c99c36e907e47f9c4dacebeff46ecb Commit message
+ b30ccc3fb38d3d64c5fef079a761c7e0a5c7da81 Another commit message
- 85867e38712de930864c5edb7856342e1358b2a0 Yet another message
Catatan: -v
Bendera adalah untuk menyertakan pesan komit bersama dengan hash SHA.
Baris dengan tanda '+' di depan ada di cabang untuk dihapus, tetapi bukan cabang master. Mereka yang '-' di depan memiliki komit yang setara dalam master.
Untuk HANYA komitmen yang tidak di master, kombinasikan pick cherry dengan grep:
git cherry -v master | grep "^\+"
Contoh output:
+ 8a14709d08c99c36e907e47f9c4dacebeff46ecb Commit message
+ b30ccc3fb38d3d64c5fef079a761c7e0a5c7da81 Another commit message