В этой статье вы узнаете, как сжать все коммиты за один коммит в git. Мы реализовали все шаги в дистрибутиве CentOS 8 Linux.
Squash объединяется в одно целое с git
Вы можете реализовать Git Squash в следующие шаги:
Шаг 1. Выберите Начать фиксацию
Чтобы определить, сколько коммитов вам нужно сжать, вы запустите следующую команду в терминале:
$ git журнал
Теперь вы вызовете git, чтобы начать интерактивный сеанс перебазирования, используя следующую команду:
$ git rebase -i ГОЛОВКА ~ NВ приведенном выше HEAD ~ N 'N' - это общее количество коммитов, которое вы определили с помощью команды 'git log'. Предположим, количество коммитов 4. Теперь команда примет следующий вид:
$ git rebase -i HEAD ~ 4Следующий список коммитов будет отображаться на терминале, где каждый коммит смотрит с выбором слова.
Шаг 2: замените медиатор на сквош
Здесь мы отметим все коммиты как сжимаемые, оставив первую фиксацию, которая будет использоваться в качестве отправной точки. Итак, переведите редактор vim в режим вставки, нажав 'i', и измените фиксацию всего выбора на сквош, кроме первой фиксации. Теперь нажмите «Esc», чтобы изменить режим вставки, и нажмите «: wq»!'чтобы сохранить все изменения и выйти. Если вы используете простой текстовый редактор, вы можете просто заменить слово «выбрать» на «сквош» и сохранить изменения. После этого вы увидите на терминале следующее окно:
Когда вы покинете эту оболочку, вы увидите следующие сообщения в окне терминала:
Если вы все это раздавите, вы увидите, что все коммиты объединены в один оператор фиксации, который будет отображаться на терминале:
Заключение
Используя git squash, вы можете легко сжать или сжать много коммитов в меньший одиночный коммит. Вы можете использовать эту технику, чтобы исправить орфографические ошибки в документации. В этой статье мы реализовали git squash. Мы также видели, как можно очистить историю с помощью команд git rebase и squash.