Что вы хотите сделать на самом деле переписать История. Идентификаторы коммитов изменились бы, и в некоторых случаях изменения, заданные коммитами, изменились бы. Поэтому, если есть вероятность, что кто-то может основывать работу на старой версии ветки, которую вы хотите изменить, лучше не делать этого. Но если вы не опубликовали эту ветку, не стесняйтесь.
Предположим, что ветвь, которую мы хотим изменить, называется «хозяином», а точка, в которой мы хотим начать новую ветку, называется «A» (в данном примере одним из имен, которые вы можете использовать, является «master ~ 6').
Во-первых, позволяет создать новую ветвь от фиксации «A», давайте назовем его текущим «фиксирует»
$ git checkout -b fixes A
Это также сделать ветка «фиксирует». Потому что есть только несколько фиксаций, которые мы хотим не-вишневого выбор, мы можем вишневые забрать их на «исправлениях» Отрасли:
$ git cherry-pick A1
$ git cherry-pick A2
Затем мы хотим, чтобы удалить коммиты «А1» и «А2» от филиала 'мастер'. Потому что есть только несколько фиксаций мы хотим удалить, и, возможно, многое другое мы хотим сохранить, мы eould использовать «мерзавец перебазироваться --interactive» для этого:
$ git rebase -i fixes master
Редактор будет разжег со всеми фиксируется в «хозяине» после фиксации «А» (который является общим фиксатором, т. е. объединяет базу ветвей «хозяин» и «исправления» ветки).Этот список будет выглядеть следующим образом:
pick deadbee B
pick fa1afe1 C
pick a98d4ba A1
...
Удалите строки с коммитов «А1» и «А2», сохраните изменения, закройте редактор (или иначе отправить изменения в inetractive Rebase) и мерзавец будет повторно все коммиты, за исключением тех, которые вам удалены.
Затем вы можете завершить с
$ git merge fixes
(ГИТ-перебазироваться оставил нас на переписан филиала 'мастер').
Итак, если ветка, в которой я была, была мастером, я должен переместить имя мастера в голову new-branch2? Делает смысл. Спасибо. – Otto 2008-12-14 03:42:22
Путь слишком много работы. См. Мой ответ ниже. – 2011-01-20 20:21:04
Да, с тех пор мои интерактивные навыки буксировки значительно улучшились. :) – Bombe 2011-01-21 11:19:19