В мире разработки программного обеспечения ошибки случаются даже при работе с Git, популярной системой контроля версий. Вы когда-нибудь фиксировали изменения в своем репозитории Git только для того, чтобы понять, что вам нужно отменить последний неотправленный коммит, не теряя при этом ценных изменений? Не волнуйся! В этой статье мы рассмотрим несколько методов, которые помогут вам корректно отменить последний неотправленный коммит Git, сохранив при этом ваши изменения. Итак, приступим!
Метод 1: использование Git Revert
Первый метод, который мы обсудим, — использование команды git revert. При возврате создается новый коммит, который отменяет изменения, внесенные предыдущим коммитом. Чтобы использовать этот метод, откройте терминал и выполните следующую команду:
git revert HEAD
Метод 2: использование Git Reset
Другой способ отменить последний неотправленный коммит — использовать команду git reset. Эта команда позволяет вам переместить указатель ветки на предыдущую фиксацию, эффективно «отменив фиксацию» изменений. Выполните следующую команду в своем терминале:
git reset HEAD~1
Метод 3: изучение журнала Git Reflog
Git reflog сохраняет запись всех изменений в кончиках ваших ветвей, включая коммиты, на которые больше не ссылается ни одна ветка. Вы можете использовать журнал обновлений, чтобы найти коммит, к которому вы хотите вернуться. Выполните следующие действия:
-
Получите хеш фиксации из журнала обновлений, выполнив:
git reflog -
После получения хеша коммита перезагрузите ветку до этого коммита:
git reset <commit_hash>
Метод 4: выборочные коммиты
Если вы хотите отменить последнюю неотправленную фиксацию, но сохранить изменения для будущего использования, подходящим вариантом является выборочный выбор. Выбор вишни позволяет вам выбирать определенные коммиты и применять их к текущей ветке. Используйте следующие команды:
-
Найдите хеш последнего неотправленного коммита с помощью
git log. -
Выберите коммит в новую ветку:
git checkout -b new_branch_name git cherry-pick <commit_hash>
Отмена последнего неотправленного коммита Git без потери изменений необходима для поддержания чистой и точной истории версий. В этой статье мы рассмотрели четыре метода: использование Git revert, Git reset, Git reflog и коммиты с выбором вишен. Каждый метод предлагает свой подход, что позволяет вам выбрать тот, который лучше всего соответствует вашим потребностям. Теперь, вооружившись этими знаниями, вы сможете уверенно справляться с такими «упсами» в рабочем процессе Git!