Для тех, кто все еще ищет простой ответ, проверьте git cherry . Он сравнивает фактические различия вместо хешей коммитов. Это означает, что он принимает коммиты, которые были выбраны или перебраны вишней.
Сначала оформите ветку, которую хотите удалить:
git checkout [branch-to-delete]
затем используйте git cherry, чтобы сравнить его с вашей основной веткой разработки:
git cherry -v master
Пример вывода:
+ 8a14709d08c99c36e907e47f9c4dacebeff46ecb Commit message
+ b30ccc3fb38d3d64c5fef079a761c7e0a5c7da81 Another commit message
- 85867e38712de930864c5edb7856342e1358b2a0 Yet another message
Примечание. -v
Флаг должен включать сообщение о фиксации вместе с хешем SHA.
Строки с '+' находятся в ветви для удаления, но не в главной ветви. Те, у кого впереди символ «-», имеют эквивалентный коммит в master.
Для просто коммитов, которых нет в master, объедините вишневый кир с grep:
git cherry -v master | grep "^\+"
Пример вывода:
+ 8a14709d08c99c36e907e47f9c4dacebeff46ecb Commit message
+ b30ccc3fb38d3d64c5fef079a761c7e0a5c7da81 Another commit message