2012-01-10 4 views
5

У меня есть ветка, называемая feature, и у нее есть несколько коммитов. Филиал и его коммиты по-прежнему локальны для моей машины (не были push ed в публичный репозиторий). График выглядитИзменить пункт ответвления

A---B---C---D---E---F---G master 
        \ 
        P---Q---R feature 

Теперь я понял, что я должен сделал ветвь feature от более ранней фиксации на master. Скажем, совершите C. Другими словами, граф должен выглядеть

A---B---C---D---E---F---G master 
     \ 
      P---Q---R feature 

То, что я пытаюсь сделать, в сущности, Revert совершает D, E и F из feature отрасли. Да, я мог бы только revert совершает один за другим, но их слишком много, чтобы вернуться; вышеприведенное изображение является лишь иллюстрацией.

ответ

6

Что вы хотите сделать, это rebase. Для того, чтобы подобрать совершающие P, Q и R и применять их на вершине C, вы выполняете:

git rebase --onto C F feature 

Смотрите человек-страница git-rebase для получения дополнительной информации.

+0

Perfect. Оказывается, я не читал достаточно на странице man. Перед отправкой вопроса я отказался от 'rebase'. Однако это просто сказало, что 'commit C' уже существует. Секретный соус - это переключатель «--onto». благодаря –

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