Как получить «Правильное внешнее соединение», например, различие в Git между 2 ветвями

#git

Вопрос:

У меня есть 2 филиала, master филиал и dev филиал.

Как и в обычном сценарии, master в ветке есть последние изменения, которых dev в ветке нет, и dev ветка была разветвлена из master ветки, но в любой момент времени к ней были добавлены новые фиксации без перебазирования с дополнительными изменениями, которые попали в master ветку с момента ее разветвления.

Я пытаюсь найти разницу в фиксациях между master ветвью и dev ветвью таким образом , чтобы она показывала мне только новые изменения в dev ветви, которые произошли с момента разветвления master , но не новые изменения в master ветви, которые в противном случае отображаются в инструкции diff.

Самое близкое, с чем я могу это связать, — это правильное внешнее соединение в SQL-запросе, где новые коммиты в ветке dev ссылаются на содержимое таблицы, содержимое которой недоступно для таблицы, с которой оно сравнивается.

Кто-нибудь сталкивался с таким требованием? Кто-нибудь знает, как получить эти различия?

Комментарии:

1. Не можете ли вы создать другую ветвь, отличную от последней фиксации, с которой dev была создана master эта новая ветвь, и сравнить ее с dev ней ?

2. в принципе git checkout -b branchname <sha1-of-commit-at-point-of-fork> , тогда вы можете открыть PR из своей dev ветки branchname , чтобы увидеть разницу? Если только я не неправильно понял вопрос.

3. это можно сделать вручную, но проблема в том, что я пытаюсь выполнить эту проверку в автоматизации. Я не всегда могу рассуждать о состоянии dev ветви по сравнению с ветвью `мастер`, а также о местах, dev где перестановка с master ней может создать много проблем.

4. Я думаю, что вы просто просите или git diff master...dev или git log master..dev . Обратите внимание, что есть 3 точки с различием и 2 точки для журнала, чтобы изолировать только правую боковую ветвь.

5. Хм, я, возможно, неправильно истолковал вопрос как «хочу посмотреть, что произойдет, если я выберу определенные коммиты, как будто выбирая вишни» вместо «хочу посмотреть, что произойдет, если я объединюсь» (выберите все коммиты с момента основания слияния). Смотрите комментарий от @TTT выше.