История изменений. Откат

Данные коммита

Для того, чтобы получить информацию о коммитах, выполните команду git log (англ. log, «журнал»):
Скопировать кодBASH
# команда для просмотра истории коммитов git log # присвоенный коммиту уникальный идентификатор commit c952d9626e27a4d6249faf368c7d22655476365c (HEAD -> master) # имя и почта разработчика, отправившего коммит Author: Yandex Practicum <practicum@yandex.ru> # дата коммита Date: Fri Oct 11 16:00:04 2019 +0300 # список изменённых файлов added readme.txt commit a22f3328b28ab901c12a4e7a5ce8fc543a6ed991 Author: Yandex Practicum <practicum@yandex.ru> Date: Fri Oct 11 15:58:36 2019 +0300 added new file
Чтобы выйти из режима просмотра, нажмите клавишу [Q] (англ. "quit", «выйти»).

Show: что изменилось в файлах?

Показать изменения, внесённые в определённом коммите, можно командой git show (англ. show, «показать»). Она продемонстрирует не просто лог, а конкретные изменения в коде.
Укажите коммит, который вас интересует. Самый свежий коммит будет показан по указателю HEAD:
Скопировать кодBASH
# эта команда выведет на экран последний коммит git show HEAD # результат: diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..49861b8 --- /dev/null # показано, в каком файле произвели изменения: +++ b/.gitignore # номер измененной строки @@ -0,0 +1 @@ # добавленная строка: +Я изучаю Git, он нужен, чтобы сохранять изменения при разработке \ No newline at end of file
Полную информацию о любом коммите можно получить командой git show 1234567, где вместо 1234567 нужно указать первые 7 символов контрольной суммы нужного коммита. Это первые семь символов после слова commit в сообщении git log:
Скопировать кодBASH
# для просмотра всех коммитов git log commit c952d9626e27a4d6249faf368c7d22655476365c (HEAD -> master) # чтобы посмотреть какие именно были изменения в коммите, # скопируйте первые семь символов после слова commit # и поставьте их после команды git show # эта команда служит для просмотра изменений в коммите git show c952d96
Чтобы выйти из режима просмотра, нажмите клавишу [Q].

Reset: отказ от изменений

Git — это машина времени. Git может вернуть ваш код в любое предыдущее состояние, если оно сохранено в коммите. Для этого есть команда git reset (англ. reset, «сброс в исходное состояние»).
Чтобы вернуться к определённому коммиту, нужно выполнить команду git reset и через пробел указать первые семь символов контрольной суммы нужного коммита, точно так же, как с командой git show:
Скопировать кодBASH
# смотрим список коммитов git log # коммит 7639878 commit 76398788bf9c9aba93e4903ead47f1ee6d99976c (HEAD -> feature) Author: Yandex Practicum <practicum@yandex.ru> Date: Thu Oct 25 17:13:01 2018 +0300 Del all file # какой-то... разработчик по ошибке удалил все файлы и закоммитил это. Молодец. # коммит 97a25f7 commit 97a25f73849d758dca110bf4a70a29d6f42373ae (master) Author: Yandex Practicum <practicum@yandex.ru> Date: Thu Oct 25 17:02:36 2018 +0300 First commit: change program.py # откатываемся до коммита, в котором все файлы ещё на месте git reset 97a25f7
Можно откатиться на один коммит назад в определённом файле, указав его имя через HEAD:
Скопировать кодBASH
git reset HEAD program.py # откатили изменения до предыдушего коммита
Указатель HEAD означает самый последний коммит.
Если не указать имя, то сбросятся все изменения до состояния последнего коммита:
Скопировать кодBASH
git reset HEAD # откатили изменения во всех файлах до предыдущего коммита
Как посмотреть подробную информацию о любом коммите?

Задание 1

Выведите историю своих коммитов. Для этого нужно выполнить команду git log. Если вы всё сделали правильно, в окне терминала появится список коммитов в хронологическом порядке.

Задание 2

  1. Посмотрите все сделанные коммиты
  2. Найдите коммит, где вы добавляли строку в файл .gitignore
  3. Выведите содержание коммита в окно терминала