Если все ваши слияния произошли из одной ветви (скажем, master
) или содержатся в другой ветви, вы можете использовать решение из этого вопроса .
Предполагается, что у вас есть дерево, подобное следующему:
x---y-+-z-+-branch
/ / /
---a---b---c-+-d-+-e---master
, и вы хотите сравнить два коммита: b
и branch
,Затем вместо сравнения двух коммитов, запуск
git diff master...branch
покажет все изменения, сделанные в ветви (x,y,z
), исключая все, что также находится в master
(c,d,e
, слияния).Обратите внимание, что это также игнорирует любые изменения, сделанные на master, которые еще не находятся в ветви.
Из документов:
git diff [--options] commit ... commit [-] […]
Эта форма предназначена для просмотра изменений в ветви, содержащей второй коммит и вплоть до него, начиная с общего предка обоих коммитов.«git diff A ... B» эквивалентно «git diff $ (git-merge-base AB) B».