На этот вопрос уже есть ответ:
У меня есть такая мастер-ветка ..
A -- B -- C -- D -- E -- HEAD
Есть ли какая-нибудь команда, которая удаляет одну из старой фиксации и сохраняет другие, скажем, фиксация C?
наконец, это становится таким
A -- B -- D -- E -- HEAD
Я знаю, что мы можем использовать обратный патч и применить новый коммит с обратным патчем для удаления коммита C, но древовидная структура не будет такой ясной и выглядит громоздкой, т.е.
A -- B -- C -- D -- E -- C(apply reverse patch) -- HEAD
Кто-нибудь знает?
Используйте интерактивный ребаз. Например, чтобы вернуться к 5 коммитам:
git rebase -i HEAD~5
Затем в появившемся редакторе удалите строку, содержащую коммит, который вы хотите удалить.