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

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

Вчера один новичок запушил в удаленный репозиторий более 10 коммитов, сегодня я хочу их все удалить с удаленной ветки. Как правильнее это сделать? Локально я себе все это не пуллил.
  • Вопрос задан
  • 370 просмотров
Подписаться 3 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • ProductStar
    Python + Flask + Git: веб-разработка с нуля
    2 месяца
    Далее
  • Учебный центр IBS
    DEV-007 Введение в систему контроля версий Git
    1 неделя
    Далее
  • Stepik
    Git (система контроля версий)
    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

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

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
Made In Dream Санкт-Петербург
от 100 000 до 220 000 ₽
от 250 000 до 320 000 ₽