Удалить старую фиксацию Git из ветки без использования обратного патча? [дубликат]

На этот вопрос уже есть ответ:

У меня есть такая мастер-ветка ..

A -- B -- C -- D -- E -- HEAD

Есть ли какая-нибудь команда, которая удаляет одну из старой фиксации и сохраняет другие, скажем, фиксация C?

наконец, это становится таким

A -- B -- D -- E -- HEAD

Я знаю, что мы можем использовать обратный патч и применить новый коммит с обратным патчем для удаления коммита C, но древовидная структура не будет такой ясной и выглядит громоздкой, т.е.

A -- B -- C -- D -- E -- C(apply reverse patch) -- HEAD

Кто-нибудь знает?

22
задан Kit Ho 16 October 2015 в 04:33
поделиться

1 ответ

Используйте интерактивный ребаз. Например, чтобы вернуться к 5 коммитам:

git rebase -i HEAD~5

Затем в появившемся редакторе удалите строку, содержащую коммит, который вы хотите удалить.

30
ответ дан 29 November 2019 в 05:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: