Сквош больше двух коммитов в sourcetree?

У меня есть большое количество коммитов, около 20, которые я сделал с момента моего последнего нажатия на источник/мастер. У меня никогда не было более одной ветки, хозяин, и все фиксации были сделаны на хозяине. Как я могу скворовать все 20 коммитов в одну фиксацию, предпочтительно используя sourcetree? Я хочу сделать это, чтобы я мог просто нажать одну фиксацию на источник/мастер.

В sourcetree я решил использовать интерактивную команду rebase в меню репозитория. Он поднимает точный список коммитов, которые я хочу раздавить. Я пытался несколько раз нажимать кнопку сквоша, пока он не покажет одно сообщение, содержащее все из них. Но когда я нахожусь ОК, я получаю только два последних совершенных коммита. Поэтому, хотя диалог, похоже, показывает, что он может скрутить несколько на практике, я не могу заставить его работать.

Ответы

Ответ 1

Более простое решение (чем перебаза):

Выберите фиксацию "происхождение/мастер" в записи журнала, нажмите "Reset <branch> to this commit".

http://i.imgur.com/nWDzb6k.png

Используйте смешанный режим по умолчанию.

http://i.imgur.com/bTaS5KD.jpg

Затем добавьте и зафиксируйте: все ваши изменения будут зарегистрированы снова в одном новом коммите, который вы сможете нажать.

Подробнее см. git reset Demystified.