2013-02-13 1 views
4

Если у меня есть история совершить подобное:Как сквош совершает между A и K в один фиксации Z

A-B-C-------G-H-J-K (master) 
    \ /
     D-E-F 

как можно раздавить совершает между A и K в один фиксации Z:

A-Z-K (master) 

?

+0

Полезная ссылка - [Объединение нескольких коммитов в один с помощью git rebase] (http://feeding.cloud.geek.nz/posts/combining-multiple-commits-into-one/) – timotei

ответ

2

Во-первых, выполнить:

git rebase -i A 

Это покажет список коммитов в текстовом редакторе, начиная с B и заканчивая К.
Вы должны изменить текст pick перед фиксаций C , D, E, F, H и J до s или squash. Do не изменение pick перед B или K. Обратите внимание, что commit G не должен отсутствовать, потому что это слияние.

Наконец, сохраните и выйдите из редактора. Это начнет реальную перезагрузку.

Результат будет следующим образом:

A-Z-K'     (master) 
\ 
    B-C-------G-H-J-K  (no branch) 
    \ /
     D-E-F 

часть, которая находится на ветви не будут в конечном счете удалены путем сбора мусора.

+0

1. Что мне нужно сделать с фиксацией B (живой выбор или изменение на сквош)? 2. Является ли перебаза переделки заменой сдавленных коммитов или нет? – timotei

+0

Спасибо! Я понял!)) – timotei

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