Введение
🧑💻 Новый в Git или LabEx? Мы рекомендуем начать с курса Быстрый старт с Git.
Git - это мощная система контроля версий, которая позволяет разработчикам отслеживать изменения в их кодовой базе. Однако иногда мы допускаем ошибки и нуждаемся отменить изменения, которые мы внесли. Git предоставляет несколько способов отменить изменения, но может быть трудно отслеживать все действия, которые мы предприняли. В этом испытании вы узнаете, как просматривать "историю отмены" в Git с помощью команды git reflog.
Просмотр "истории отмены"
В качестве разработчика вы, возможно, захотите отменить изменения, внесенные в свою кодовую базу. Git предоставляет несколько способов отменить изменения, например, с использованием команд git reset или git revert. Однако может быть трудно отслеживать все действия, которые вы предприняли, особенно если вы использовали более продвинутые команды, такие как git rebase. Именно здесь команда git reflog пригодится.
Команда git reflog отображает журнал ссылок Git, который является записью всех действий, предпринятых вами в репозитории. Это включает не только коммиты, но и другие действия, такие как слияния ветвей, ребейсы и сбросы. Просмотрев журнал ссылок, вы можете увидеть полную историю всех изменений, внесенных вами в репозиторий, даже если они не отображаются в истории коммитов.
Для просмотра "истории отмены" в Git вы можете использовать команду git reflog. Предположим, что вы внесли некоторые изменения в репозиторий и хотите их отменить.
- Перейдите в репозиторий с помощью командной строки:
cd git-playground
- Теперь предположим, что вы поняли, что допустили ошибку и хотите отменить последний коммит. Вы можете использовать команду
git resetдля этого:
git reset HEAD~1
- После выполнения этой команды вы, возможно, поняли, что допустили еще одну ошибку и хотите отменить сброс. Именно здесь команда
git reflogпригодится. Вы можете использовать ее для просмотра журнала ссылок и поиска хеша коммита предыдущего коммита:
git reflog
Это выведет список всех действий, предпринятых вами в репозитории, включая сброс:
cf80005 (HEAD -> master) HEAD@{0}: reset: moving to HEAD~1
d22f46b (origin/master, origin/feature-branch, origin/HEAD) HEAD@{1}: clone: from https://github.com/labex-labs/git-playground.git
- Из этого вывода вы можете увидеть, что хеш предыдущего коммита равен
d22f46b. Вы можете использовать этот хеш для сброса репозитория назад к предыдущему коммиту:
git reset d22f46b
- Просмотрите исторические записи коммитов, чтобы проверить результаты:
git log
Резюме
В этом испытании вы узнали, как просматривать "историю отмены" в Git с помощью команды git reflog. Журнал ссылок - это запись всех действий, предпринятых вами в репозитории, включая коммиты, слияния, ребейсы и сбросы. Просмотрев журнал ссылок, вы можете увидеть полную историю всех изменений, внесенных вами в репозиторий, даже если они не отображаются в истории коммитов. Это может быть особенно полезно, когда вам нужно отменить изменения, внесенные в свою кодовую базу.