Как удалить плохие коммиты из локального и удаленного - PullRequest
0 голосов
/ 28 августа 2018
➜  amfrost_crm git:(master) gst
On branch master
Your branch is behind 'origin/master' by 5 commits, and can be fast-forwarded.
  (use "git pull" to update your local branch)

nothing to commit, working directory clean

Эти пять коммитов плохие, и я хочу навсегда удалить их из локального и удаленного коммита и переместить HEAD в хорошие рабочие коммиты.

1 Ответ

0 голосов
/ 28 августа 2018

То, что вы хотите сделать, это отказаться от части работы, выполненной ранее и уже перенесенной на пульт. Это означает изменение истории репозитория , и это почти всегда плохая идея, по крайней мере по двум причинам:

  1. Вы отбрасываете уже проделанную работу, и , возможно, не сможет ее восстановить . Даже если это было неправильно, вы все равно можете следить за этим и просто продолжать новый коммит, который отбрасывает различия.
  2. Если кто-то, кроме вас, работает с хранилищем, он больше не сможет перейти к нему, поскольку история удаленного и локального хранилища не будет совпадать. Им придется снова клонировать репозиторий и вручную добавить свою работу, объединяя ее с инструментами сравнения.

Если вы действительно хотите изменить историю удаленного репозитория, сопоставив ее с вашим локальным репозиторием, вы можете просто сделать принудительное нажатие:

git push --force

Во всяком случае, как уже отмечали другие в комментариях, это может быть действительно плохой идеей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...