Я фиксировал и продвинул некоторые плохие вещи. Как делают я вызываю, возвращаются мой локальный repo к HEAD~7 и возвращают так, чтобы ГОЛОВА была теперь в той версии? Документы мерзавца смущают меня.
Спасибо!
Самый лучший подход - отправить еще одну фиксацию, которая отменяет непреднамеренные фиксации. См. ответ Якуба Наребски о том, как это сделать.
Если по какой-то причине стоит потенциально недружелюбно продвигать обновление, которое не является быстрой перемоткой вперед (например, чувствительные биты в коммитах), дайте следующие команды:
git reset --hard HEAD~7 git push --force origin master
Первая перематывает вашу текущую ветку назад. Это острый инструмент, поэтому будьте осторожны.
Чтобы вы случайно не потеряли работу, git не будет отправлять перемотанную ветку. Параметр - force
отключает эту функцию безопасности.
git reset --hard HEAD ~ 7
полностью отменит ваши изменения.
git reset HEAD ~ 7
отбрасывает коммиты, но оставляет изменения в рабочей копии, так что вы можете редактировать и повторно коммитить их.