История изменений. Откат
Данные коммита
Для того, чтобы получить информацию о коммитах, выполните команду 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:
Скопировать кодBASHgit reset HEAD program.py
# откатили изменения до предыдушего коммита
Указатель HEAD означает самый последний коммит.
Если не указать имя, то сбросятся все изменения до состояния последнего коммита:
Скопировать кодBASHgit reset HEAD
# откатили изменения во всех файлах до предыдущего коммита
Как посмотреть подробную информацию о любом коммите?
Всё правильно, а узнать хеш коммита можно через команду git log
Задание 1
Выведите историю своих коммитов. Для этого нужно выполнить команду
git log
. Если вы всё сделали правильно, в окне терминала появится список коммитов в хронологическом порядке.Задание 2
- Посмотрите все сделанные коммиты
- Найдите коммит, где вы добавляли строку в файл .gitignore
- Выведите содержание коммита в окно терминала