2013-09-20 3 views
-2

Я нахожусь в процессе обучения git.Как сбросить плохую фиксацию с помощью git на удаленной ветке?

У меня есть следующие фиксации на ветви

фиксации 3

фиксации 2

фиксации 1

совершают 0

как можно удалить фиксации 1, но сохранить фиксации 2 и 3 на удаленной ветке?

+0

Просто используйте git revert. Он добавит новую фиксацию в верхнюю часть (предположим, что я думаю), которая возвращает то, что совершил 1. Гит никогда не удаляет историю, только добавляет. –

ответ

2

Два возможных, различные решения:

  1. git revert commit1; git push - создает новый коммит, который возвращается совершить 1

  2. git rebase -i HEAD~3 затем просто удалить коммита 1 и git push -f, но обратите внимание, это требует привилегии «силы push ", что означает переписывание истории, которая не всегда желательна (выполняйте свои исследования, это обычно жизнеспособно только при работе над кодом, который не был распространен/опубликован/заморожен). Более подробную информацию см. В справочных страницах.

+2

Вы должны четко указать, что 1 и 2 не предназначены для совместного использования, они оба являются взаимоисключающими решениями проблемы. –

Смежные вопросы