удаление истории из git-коммита с помощью плагина egit

#git #history #egit

#git #история #egit

Вопрос:

Я совершил что-то, используя неправильные учетные данные, есть ли способ удалить этот коммит из истории git. Я использую плагин egit в eclipse.

Ответ №1:

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

Еще не нажата / только локальное изменение

На консоли просто выполните одно из следующих действий:

  • git rebase -i <commit before the one you want to remove> : в текстовом редакторе откроется файл со списком коммитов. Удалите коммит, от которого вы хотите избавиться. Сохраните и выйдите. Git перестроит историю (и, возможно, представит некоторые конфликты) без этого коммита.

  • git reset --soft <the commit you want to remove> : используйте эту опцию, если вы не возражаете изменить остальную часть истории и зафиксировать ее заново. Таким образом, у вас не будет конфликтов, но это выполнимо, только если это короткая история.

Изменение удаленной ветки

Ну, любое из решений, перечисленных ранее, НО когда вы нажимаете, вам нужно указать -f опцию, и это ОЧЕНЬ ПЛОХО: nucleardawn : ! Вы будете изменять историю коммитов, на которую могут полагаться другие, и это может полностью испортить их работу.

Делайте это, только если вы уверены, что никто не извлекал удаленную ветку какое-то время или если вы работаете в одиночку.

Надеюсь, это поможет.