Как удалить фиксации с помощью egit?
Я только что сделал некоторые плохие коммиты с egit, которые хотел бы удалить.
![Some bad commits I want to delete]()
Как удалить коммит из egit?
Спасибо!
EDIT: несколько раз я пробовал жесткий reset, но ничего не сделал.
![Hard reset screen]()
EDIT 2: Hard reset действительно выполняет откат, но я хочу, чтобы они полностью исчезли из истории, как будто я никогда не совершал эти коммиты.
Ответы
Ответ 1
RightMouse в вашем репозитории и нажмите "показать в → историю".
Вы должны выбрать последнюю фиксацию до последней "выборки"... большую часть времени ее вторая фиксация выполняется под текущей HEAD.
RightMouse на этой фиксации и "reset → Hard" (будет reset все ваши коммиты и локальная рабочая область изменятся на выбранную фиксацию).
вы должны увидеть, как стрелка вверх превращается в стрелку вниз, что означает, что ваши коммиты удалены и что ваш репозиторий устарел. Используйте "fetch" и "rebase" для обновления.
Ответ 2
Обратите внимание, что Egit3.0 в Kepler позволяет вам жестко reset использовать любое дерево, которое вы хотите:
![enter image description here]()
Но после жесткого reset вам все равно нужно git push --force
после этого: если вы не знаете историю своего восходящего репо, все равно укажите, что зафиксировать.
Ответ 3
Вы можете сделать жесткий reset, но будьте осторожны с этим!! Вот еще одна информация: Удалить фиксацию из ветки в Git