сквош больше, чем два коммита в sourcetree?

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

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

1 ответов


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

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

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

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

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

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

посмотреть git reset Демистифицированный дополнительные.