Анализ сделанных изменений
Во время разработки программистам часто приходится останавливаться и анализировать изменения, которые они сделали с последнего коммита.
Потребность смотреть изменения становится очевидной, если представить себе, что такое работа над реальным проектом. Как правило, это тысячи строк кода, сотни файлов, десятки часов работы над одной задачей.
Потратив даже несколько часов в таком проекте, очень сложно вспомнить, что и где менялось, а что еще осталось поменять. Чтобы было проще, нужно анализировать изменения, о чем мы поговорим в этом уроке.
Как анализировать изменения
Анализировать изменения важно даже в небольших проектах. Прямо сейчас во время разработки этого курса изменилось несколько файлов и git status
выглядит так:
Попробуем воспроизвести подобную ситуацию в нашем проекте. Выполним следующий код в репозитории my-git:
Изменились оба файла. В один файл мы добавили строчку, в другом — заменили. Как теперь посмотреть эти изменения?
Для этого в Git есть команда git diff
, которая показывает разницу между тем, что было и что стало:
Вывод команды поначалу может смутить. Здесь довольно много служебных данных, за которыми уже идут изменения.
Вывод git diff
содержит не файлы целиком, а именно те строки, которые изменились — и иногда строки вокруг измененных для удобства анализа.
Слева от строк ставится:
Знак
-
, если строка была удаленаЗнак
+
, если строка была добавлена
Сама команда не просто выводит на экран разницу между файлами, но и запускает пейджер — специальную программу, которая позволяет перемещаться по выводу и искать внутри него нужные данные. Для этого используются клавиши:
f — перемещение вниз
b или u — перемещение вверх
q — или выход из режима просмотра
По умолчанию команда git diff
показывает изменения только для тех модифицированных файлов, которые еще не были добавлены в индекс. Подразумевается, что добавленные в индекс файлы смотреть не нужно, ведь мы их уже подготовили к коммиту. Но лучше еще раз увидеть эти изменения и все проверить. Для этого нужно запустить команду git diff
с флагом --staged
:
В целом, git diff
— команда, которую нужно обязательно запускать перед каждым коммитом. С ее помощью можно проанализировать добавляемые изменения и исправить возможные ошибки, ведь иногда программисты случайно добавляют в коммит то, что туда не должно попасть.
Самостоятельная работа
Выполните все шаги из урока
Сделайте коммит с сообщением add new content
Залейте изменения на GitHub