4 метода отмены локальной фиксации в Git с примерами кода

Чтобы отменить локальную фиксацию в 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предотвращает автоматическое применение фиксации.