git diff branches или сравнение двух веток и файлов них позволяет увидеть изменения, внесенные в версии проекта и различия между версиями.
git diff branches, сравнение веток git
Команда git branch позволяет посмотреть существующие ветки.
git branch
- master
new
Сравнение двух веток
Таким же образом как в других случаях имена веток передаются в качестве аргументов
source_branch..updated-code
При сравнении двух веток их имена разделяются двумя точками. Точки можно опускать заменяя их пробелом. Эффект будет тем же.
git diff source_branch updated-code
На скриншоте приведён пример:
Здесь видно, что в локальном репозитории существует две ветки. За счёт git diff выполняем сравнение двух веток.
В выводе один файл, содержимое которого различается в разных ветках.
Сначала приведено его состояние в ветке master, потом его состояние в ветке new. В ветке new есть данные, которых в ветке master нет.
Три точки разделяющие параметры используются реже. Оператор изменяет параметры замещая ветку ref-ом предшествующего общего коммита.
То есть сравнивает состояние веток относительно merge base, последнего коммита после которого произошло разделение на ветки.
Сравнение файлов из разных веток
Если файл присутствует в обеих ветках и его состояние менялось — можно увидеть изменения передав имя файла в качестве третьего параметра
git diff source_branch updated-code ./file.txt
В репозитории, который приводился на скриншоте, таким образом, можно сравнить состояние файла в разных ветках выполнив такую команду
git diff master new ./somefile.txt
Читайте про сравнение файлов в одном коммите и в разных коммитах.