Привет кодеры!
Мы все были в таком состоянии: вносили изменения в наш код только для того, чтобы понять, что это был неправильный шаг. К счастью, в отличие от реального мира, в Git есть способы ориентироваться и корректировать наши прошлые решения 😃 . В этом блоге мы собираемся изучить некоторые важные инструменты Git, такие как revert
, reset
и checkout
, которые помогут нам управлять историей нашего кода и изменять ее. Независимо от того, являетесь ли вы новичком в Git или просто ищете ясность в этих командах, это руководство призвано предложить простой обзор.
ПРОДАЖА: Швейцарский армейский нож Git
В Git checkout
выделяется как один из самых универсальных инструментов. он способен выполнять различные задачи: от переключения между ветками и создания новых до восстановления промежуточной области и рабочего каталога. И, как мы здесь обсудим, это также ваша машина времени, позволяющая вам вернуться в историю и просмотреть прошлые версии вашего кода.
Восстановление вашего рабочего пространства:
Заглядывая в прошлое: интересно, как выглядел ваш код несколько коммитов назад? Вы можете использовать checkout
для изучения конкретного коммита.
Сначала вам нужно будет найти хеш коммита:
для этого у вас есть 2 варианта git log
или git log --oneline
git log
: Здесь отображается подробная информация о ваших коммитах.git log --oneline
: Флаг--oneline
показывает каждый коммит в виде короткой простой строки.
Обратите внимание на короткий код рядом с сообщением о фиксации. также вам не нужно копировать полный хеш, просто первые 7 символов тоже подойдут
Найдя хеш определенного коммита, который хотите извлечь, введите git checkout <commit-hash>
. Это вернет ваш git HEAD к выбранному вами коммиту.
Помните, это всего лишь временное представление. Чтобы вернуться к последней версии, вам необходимо вернуться к исходной ветке. Для этого вы можете сделать git checkout <branch-name-here>
. Если вы забыли название текущего филиала, вы также можете сделать git switch -
Для более быстрого оформления заказа:
git checkout HEAD~1
: Здесь вы говорите Git вернуться на один коммит назад с того места, где вы находитесь сейчас. Вы можете изменить число послеHEAD~
, если хотите вернуть больше коммитов.
REVERT: Отмена коммитов выполняется безопасным способом.
Понимание Git Revert. Думайте о git revert
как о команде, которая поможет вам сказать: «Я передумал по поводу последнего обновления». Вместо удаления нежелательной фиксации, как некоторые другие команды, revert
создает новую фиксацию, которая отменяет изменения, внесенные в предыдущую фиксацию. Это похоже на повторную обработку, но каждый все равно может видеть вашу первоначальную ошибку и исправление.
Практический пример использования Git Revert:
Давайте представим, что вы сделали коммит, но позже понимаете, что это было не то, чего вы хотели. Вот как вы можете использовать revert
:
- Сначала найдите коммит, который хотите отменить. Простой способ составить список ваших коммитов — использовать:
git log --oneline
как обсуждалось ранее. - Как только вы обнаружите коммит, обратите внимание на его хэш.
- Используйте команду
revert
, чтобы отменить это:git revert <commit-hash>
OR
Наш ты можешь просто сделать git revert HEAD~1
😃
После этого Git запросит у вас сообщение о фиксации. Вы можете просто сохранить его, и будет создан новый коммит, который отменяет изменения предыдущего. Исходный коммит все еще существует в истории, но ваш последний коммит является «исправленной» версией.
revert
особенно полезен, когда вы работаете с другими, поскольку он не меняет общую историю коммитов. Все по-прежнему могут видеть, что произошло, но они также видят ваше исправление.
Использование revert
гарантирует, что ваша команда сможет следить за всеми изменениями, ошибками и исправлениями в совместной среде, поэтому я также рекомендую использовать возврат вместо reset
(мы обсудим reset
в следующем модуле).
СБРОС: перевод часов назад.
Понимание сброса Git: Git reset
— это команда, которая позволяет вам изменить историю коммитов. Если вы сделали коммит, который вас не устраивает, или вы хотите увидеть более старую версию своего проекта, команда reset
может помочь.
⛔️ Предупреждение. Будьте осторожны с командой reset
, особенно с опцией --hard
. Вы можете потерять свои изменения навсегда. Прежде чем выполнять полный сброс, убедитесь, что вы сохранили всю работу, которую хотите сохранить, в другом месте.
Практический пример использования Git Reset:
Допустим, вы сделали три коммита подряд, но последний оказался неправильным. Чтобы просмотреть список ваших коммитов, у вас есть два варианта:
git reset --soft <commit-hash>
: Это отменит фиксацию, но вы все равно увидите изменения, внесенные вами в эту фиксацию, в своем рабочем каталоге. Вы как будто делаете шаг назад, но все еще можете видеть свою работу.git reset --hard <commit-hash>
: Это еще один шаг вперед. Он отменяет фиксацию и удаляет внесенные вами изменения из вашего рабочего каталога.
OR
Наше ты можешь просто сделать git reset HEAD~1
Я знаю, что всегда оставляю более простые методы напоследок, но это потому, что я не хочу, чтобы вы пропустили ни одну из этих команд. Каждый из них имеет основополагающее значение на вашем пути к тому, чтобы стать экспертом по Git. ❤️