2010-11-29 4 views
2

Можно создать дубликат:
Git: removing selected commits from repositoryGit как удалить выбранную фиксацию из дерева?

Я хотел бы, чтобы удалить выбранную commmit из линейной фиксации дерева:

R-> A-> B-> C-> D -> HEAD

Я хочу удалить commit C и все внесенные в него изменения.

+0

Обратите внимание, что если вы довольствуетесь просто возвратом фиксации, а не ее удалением, вы можете использовать `git revert`. – 2010-11-29 14:42:37

ответ

1

Вы можете сделать это, используя операцию interactive rebase. Есть хорошее описание того, как это работает в этой ссылке.

По сути, вы будете переписывать коммиты так, что вместо

R->A->B->C->D->HEAD 

у вас есть

R->A->B->D'->HEAD' 

D' связан с D в том, что он вводит такое же изменение, но основан на B вместо C. Обратите внимание, что если D вводит изменения, которые зависят от C, может возникнуть конфликт, который вам необходимо решить.

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