Привет кодеры!

Мы все были в таком состоянии: вносили изменения в наш код только для того, чтобы понять, что это был неправильный шаг. К счастью, в отличие от реального мира, в 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:

  1. Сначала найдите коммит, который хотите отменить. Простой способ составить список ваших коммитов — использовать: git log --oneline как обсуждалось ранее.
  2. Как только вы обнаружите коммит, обратите внимание на его хэш.
  3. Используйте команду 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. ❤️