Git удалять удаленную историю после определенного фиксации

У меня есть хранилище Git/Gitlab. Мы использовали для того, чтобы совершать прямо, чтобы освоить, но мы решили переключиться на использование ветвей функций, подобных остальному миру для этой версии.

Нам нужен reset наш удаленный мастер в состояние, в котором он находился сразу после последней версии. Если кто-то уже передал мастер непосредственно, как я могу reset перейти в чистое состояние, удалив всю историю прошлой версии?

Я потратил около часа на поиск в Интернете и не могу найти ответ на этот конкретный вопрос. Извините, если это кажется излишним, похоже, такая простая задача без очевидного ответа!

Ответ 1

В reset локальная ветвь,

git branch -f master last-release

Чтобы reset удаленная ветвь,

git push -f origin last-release:master

где last-release - это ref (commit id или branch), для которого требуется reset master to.

(Ни одно из них не влияет на ваше рабочее дерево, вы даже можете сделать это с помощью открытого репо, если хотите).

Ответ 2

Иногда вы отправляете сообщение "Переполнение стека", и вы сразу же выясняете это через секунду:

$ git reset --hard HEAD~9
$ git push --all --force

Теперь удалите локальное репо, повторное клонирование.