Чтобы отменить локальную фиксацию в Git, существует несколько способов. Я предоставлю вам несколько наиболее часто используемых из них вместе с примерами кода:
Метод 1: Git Reset
Вы можете использовать команду git reset, чтобы отменить самую последнюю фиксацию. Этот метод удаляет фиксацию и перемещает указатель ветки обратно к предыдущей фиксации. Вот пример:
git reset HEAD~1
Эта команда отменит последний коммит, сохранив изменения в вашем рабочем каталоге.
Метод 2: Git Revert
Другой способ отменить локальную фиксацию — использовать команду git revert. Этот метод создает новый коммит, который отменяет изменения, внесенные предыдущим коммитом. Вот пример:
git revert HEAD
Эта команда создаст новый коммит, который отменяет изменения, внесенные в последний коммит.
Метод 3: Git Reflog и Reset
Команда git reflogотображает журнал всех изменений ссылок в вашем репозитории, включая коммиты. Затем вы можете использовать git reset, чтобы переместить указатель ветки на конкретный коммит и эффективно «отменить» коммит. Вот пример:
git reflog
git reset HEAD@{n}
Замените {n}соответствующим ссылочным номером из вывода git reflog.
Метод 4: Git Cherry-pick
Если вы хотите отменить определенный коммит и применить его изменения как новый коммит, вы можете использовать команду git Cherry-pick. Этот метод позволяет выбирать отдельные коммиты и применять их в другом порядке. Вот пример:
git cherry-pick -n <commit-hash>
git reset
Замените хешем коммита, который вы хотите отменить. Флаг -nпредотвращает автоматическое применение фиксации.