Git. Система контроля версий
Представим следующую ситуацию. Вы сделали несколько коммитов, прошли несколько уроков, сделали паузу в несколько дней. И сейчас решили продолжить изучение, открыли консоль гита и не помните что было ранее - какие коммиты делались, что происходило.
Либо иная ситуация. Вы приходите работать в новую компанию вам дают некий репозиторий вы себе его клонируете и хотите посмотреть что происходило ранее - какие коммиты производились и кем.
Для этого есть замечательная команда:
git log
Выполнив данную команду мы получаем историю коммитов. Если операций с репозиторием было не много, то можно обойтись и этой командой. Но если работа над проектом велась долго, то команда git log выдаст вам вереницу истории в которой будет сложно ориентироваться.
С помощью команды git log можно не только смотреть историю работы с репозиторием. Так же можно осуществлять поиск, делать нужные выборки, можно смотреть разницу между коммитами - что было До и что стало После. Функция очень богатая (впринципе как и другие команды git-а).
У гита есть встроенная помощь где можно подробнее узнать какие ключи использовать для той или иной команды и какие задачи можно решать. К примеру чтобы почитать о команде log набираем в консоли следующее:
git help log
Выполняем. И у нас открывается браузер с открытой страницей описывающей работу с командой log. Файлы помощи гита находятся локально на том ПК на котором вы установили гит.
Как вы видите только для одной команды log имеется масса вариантов использования. И так практически для любой команды. Все это изучать не нужно. Мы будем изучать то что требуется для каждодневной работы с репозиторием. Остальные нюансы работы с той или иной командой уже будут изучаться вами на автопилоте по мере работы над проектом.
Давайте поэксперементируем с командой log. Сделаем вывод информации об операциях более читабельный и удобный чем то что выдает log по-умолчанию.
git log --pretty-format:"%h - %an, %ar : %s"
Выполнив эту команду мы получим более удобный формат вывода информации об операциях.
Если работа над проектом ведется длительное время. То выполнив данные операции приведенные выше вы получите слишком много информации. Чтобы ограничить вывод логов например по дате можно выполнить следующую команду -
git log --since=2.weeks
Эта команда выведет информацию за последние две недели.
Расмотрим еще один вариант выполнения команды log:
git log -p -2
Данный способ покажет нам коммиты с информацие о том что было До коммита и какие изменения были внесены коммитом. И так для каждого коммита.
Ключ -p дает установку что выполнить команду лог с демонстрацией изменений.
Ключ -2 дает установку что мы хотим посмотреть два коммита.