Общий ответ: надо использовать команду git diff. Общий синтаксис команды (полную справку можно получить через git diff --help):
git diff [< options>] < commit>..< commit> [--] [< path>...]
Входные данные для команды diff (значения хэша для обозначения нужного commit) можно узнать с помощью команды git log (или еще лучше git log --pretty=oneline). Пути до нужных веток можно узнать командой git branch -a.
К примеру, с помощью команды git log вы просмотрели историю по сообщениям фиксаций (т. е. сообщения, которые ранее были введены командами git commit -m), и определили, какие commit-ы хотели бы стравить. Предположим, что у первого сравниваемого commit-а хэш равен aa652b80b15ee608afd0855e3f2797f5874fcfc0, а у второго сравниваемого 2c72e10b2e53d3f1fc96198906e1ce6f7a745a3a. Тогда для сравнения этих commit-ов (фиксаций) введите команду:
$ git diff aa652b80b15ee608afd0855e3f2797f5874fcfc0 2c72e10b2e53d3f1fc96198906e1ce6f7a745a3a
Если не вводить второй хэш, то сравнение будет текущей ветки/фиксации и указанной хэшем фиксации.
Точно так же можно сравнивать и ветки, просто вместо хэшей нужно вводить имена веток:
$ git diff branch1 branch2
Если не указывать вторую ветку, то сравнение указанной ветки будет происходить с текущей веткой. Пример, когда текущей веткой сделана ветка main, и производится её сравнение с веткой branch2:
$ git checkout main $ git diff branch2
Одним из самых полезных аргументов является -p или --patch, который показывает разницу (выводит патч), внесённую в каждый коммит. Так же вы можете ограничить количество записей в выводе команды; используйте параметр -2 для вывода только двух записей.
[Ссылки]
1. How can I see the differences between two branches? site:stackoverflow.com. 2. Краткий справочник по Git. |