Как удалить коммит (ОСТОРОЖНО, ВЕРНУТЬ ИЗМЕНЕНИЯ НЕЛЬЗЯ!)

Issue #20 new
Yadzuka created an issue

(GIT) Для того, чтобы безвозвратно удалить коммит (любой(будьте осторожны)), необходимо:

  • Определить к какому коммиту вернуться. Для этого в командной строке ввести git log. Или же git log --graph для более красивой визуализации. Результат будет примерно следующим:

commit b1db48a8d573c7be5186095d464d6c9e98abc3c2 (HEAD -> master, origin/master)
Author: Yadzuka yadzuka@eustrosoft.org
Date: Wed Mar 25 19:19:07 2020 +0300

Third file added!

commit 6c338bca6bf113777e75788b0ee85395b326c23e
Author: Yadzuka yadzuka@eustrosoft.org
Date: Wed Mar 25 19:17:58 2020 +0300

Second file added!

commit e16896c4e0663e34de07d4425125d7aeabdcc43e
Author: Yadzuka yadzuka@eustrosoft.org
Date: Wed Mar 25 19:17:11 2020 +0300

First file added!

  • Определяемся к какому коммиту нам надо вернуться (в моем случае необходимо вернуться к первому коммиту, то есть удалить верхние два коммита.

commit e16896c4e0663e34de07d4425125d7aeabdcc43e
Author: Yadzuka yadzuka@eustrosoft.org
Date: Wed Mar 25 19:17:11 2020 +0300

First file added!

  • Копируем хэш коммита - он представлен самой верхней строкой: e16896c4e0663e34de07d4425125d7aeabdcc43e.
  • Пишем в командной строке: git reset --hard e16896c4e0663e34de07d4425125d7aeabdcc43e.

В командной строке будет что-то вида HEAD is now at e16896c First file was added!. Это означает, что ресет коммита прошёл успешно.

  • Далее необходимо запушить изменения в удаленный репозиторий git push --force origin master. Origin - имя удаленного репозитория (посмотреть название можно с помощью git remote -v), master - имя ветки (посмотреть название ветки можно с помощью git branch).

Готово! Вы восхитительны!

Comments (1)

  1. Log in to comment