Как объединить все коммиты в одно целое?

How Do You Squash All Commits One



В Git Squash - это метод, который позволяет вам внести серию изменений в коммиты, а затем объединить их в одну фиксацию. Давайте объясним с помощью примера, предположим, что у вас есть n коммитов, и когда вы примените к ним git squash, вы можете сжать или сжать все n коммитов в один коммит. Git squash используется для преобразования нескольких крупных коммитов в один небольшой значимый коммит. Итак, вы можете сделать журнал git более понятным. Вы также можете объединить ветки, используя технику раздавливания. Лучше всего всегда сквошировать коммиты и перебазировать их с помощью основной или родительской ветки.

В этой статье вы узнаете, как сжать все коммиты за один коммит в 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’, и измените фиксацию all pick на сквош, кроме первой фиксации. Теперь нажмите «Esc», чтобы изменить режим вставки, и нажмите «: wq!», Чтобы сохранить все изменения и выйти. Если вы используете простой текстовый редактор, вы можете просто заменить слово «выбрать» на «сквош» и сохранить изменения. После этого вы увидите на терминале следующее окно:

Когда вы покинете эту оболочку, вы увидите следующие сообщения в окне терминала:

Если вы все это раздавите, вы увидите, что все коммиты объединены в один оператор фиксации, который будет отображаться на терминале:

Заключение

Используя git squash, вы можете легко сжать или сжать множество коммитов в один меньший коммит. Вы можете использовать эту технику для исправления орфографических ошибок в документации. В этой статье мы реализовали git squash. Мы также видели, как можно очистить историю с помощью команд git rebase и squash.