Git отменить последнюю фиксацию

Я слил неправильный путь между двумя ветвями. Затем я запустил следующее:

git reset --hard HEAD^

Теперь я вернусь к предыдущей фиксации (которой я хочу быть). Правильно ли это было?

Плохая фиксация все еще находится в репозитории, это нормально или мне нужно сделать что-то еще, чтобы удалить ее из репозитория?

Я еще не нажал или не сделал что-либо еще.

Ответы

Ответ 1

Это правильная вещь.

Вы можете сделать git gc для сбора мусора с отключенными коммитами, но это необязательно.

Ответ 2

Использование ^ с HEAD^ не помогло мне. Вместо этого мне пришлось использовать ссылку: http://gitref.org/basic/#commit

git reset --soft HEAD ~

(git version 1.7.12.4 (Apple Git-37))

(Примечание: если вы используете zsh (как и я), вы также можете избежать символа ^ вместо альтернативной команды, указанной выше)

Ответ 3

мммм... git revert может быть именно то, что вам нужно

Также эта статья может вам помочь.