================================================================================
# ПРОСМОТР ИЗМЕНЕНИЙ: git diff
# https://learn.javascript.ru/screencast/git#view-diff
================================================================================
# Сравнение между ветками
git diff master feature - Сравнение двух веток (последние коммиты в ветках)
git diff master..feature - Тоже самое (альтернативный синтаксис)
git diff master...feature - Что изменилось в feature c момента ее отхождения от master
(сравнивает пересекающийся коммит в обоих ветках и
последний коммит в ветке feature)
git diff master feature index.php - Сравнение файла в разных коммитах
# ! можно указать несколько файлов через пробел
# Сравнение файлов в разных коммитах
git diff commmit1:path1 commit2:path2
# Показать в каких файлах были изменения между ветками:
git diff --name-only master feature - Просмотр имен измененных файлов
--------------------------------------------------------------------------------
# Сравнение рабочего каталога с индексом
git diff - Сравнение рабочего каталога с индексом
git diff index.php - Сравнение файла с индексом
git diff . - Сравнение текущего каталога с индексом
git diff -- <path> - С указанием, что сравниваем путь к файлу а не с веткой
(безопасный способ, если вдруг будет файл с именем master)
--------------------------------------------------------------------------------
# Сравнение рабочего каталога c HEAD
git diff HEAD - Сравнение рабочего каталога с последним коммитом
git diff HEAD index.php - Сравнение файла с последним коммитом
--------------------------------------------------------------------------------
# Сравнение с любым коммитом
git diff <hash> - Сравнение рабочего каталога с коммитом
git diff <hash1> <hash2> - Сравнение двух коммитов
--------------------------------------------------------------------------------
# Сравнение индекса и HEAD (последнего коммита)
git diff --cached - Изменения, которые попадут в следующий коммит
git diff --cached HEAD - тоже самое
git diff --staged - Тоже самое
git diff --caсhed <hash> - Сравнение индекса и коммита
# команды git diff и git diff head игнорируют не отслеживаемые файлы
--------------------------------------------------------------------------------
# Сравнение любых двух файлов на диске (GIT репозиторий не искользуется)
# Команда работает даже без GIT репозитория
git diff --no-index path1 path2
--------------------------------------------------------------------------------
# Сравнение по словам: https://learn.javascript.ru/screencast/git#view-diff-words-drivers
git diff --color-words index.php - Сравнение с подсветкой различающихся слов в строках