Задать вопрос

Как правильно удалить эти коммиты?

Вчера один новичок запушил в удаленный репозиторий более 10 коммитов, сегодня я хочу их все удалить с удаленной ветки. Как правильнее это сделать? Локально я себе все это не пуллил.
  • Вопрос задан
  • 359 просмотров
Подписаться 3 Простой 1 комментарий
Решения вопроса 1
AshBlade
@AshBlade
Просто хочу быть счастливым
git revert

  1. Получаешь изменения
  2. Выполняешь git revert последовательно для каждого коммита в обратном порядке (т.е. с конца к началу), либо git revert --no-commit HEAD~10..
  3. Коммитишь это
  4. Пушишь


т.е. примерно так

git pull
git revert HEAD~10..
git commit -m "revert: newbie master push"
git push


Вот тут есть подробнее
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Vapaamies
@Vapaamies
Психанул и снес свои ответы не отмечающим решения…
На самом деле решение зависит от принятого порядка работы (workflow). Если допустимы rebase (у программистов) и force push, можно перейти в ветку, сделать сброс, а потом принудительно обновить ветку в удаленном хранилище (программистам потом придется выполнить сброс и/или перебазирование у себя):
git stash push
git reset --hard HEAD~10 # задать свое число — на сколько откатиться, либо по хешу
git push --force-with-lease
git stash pop

Если же, как написано:
Локально я себе все это не пуллил.

Будет достаточно одной команды:
git push --force-with-lease

Эти действия именно удалят коммиты без возможности восстановления.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы