У цій статті буде детально описано, як розбити всі коміти за один коміт у git. Ми реалізували всі кроки на дистрибутиві CentOS 8 Linux.
Сквош робить одне ціле за допомогою git
Ви можете реалізувати git squash у такі кроки:
Крок 1: Виберіть Почати фіксацію
Щоб визначити, скільки комітів вам потрібно зім'яти, на терміналі виконайте таку команду:
$ git log
Тепер ви запустите git, щоб розпочати інтерактивний сеанс перебазування, використовуючи таку команду:
$ git rebase -i HEAD ~ NУ наведеному вище HEAD ~ N, 'N' - це загальна кількість комітів, яку ви визначили за допомогою команди 'git log'. Припустимо, кількість комітів - 4. Тепер команда зміниться на такий вигляд:
$ git rebase -i HEAD ~ 4Наступний список комітів відобразиться на терміналі, де кожен фіксує, дивлячись на вибір слова.
Крок 2: Змініть Pick на Squash
Тут ми позначимо всі коміти як згладжувані, залишимо перший коміт, який буде використовуватися як відправна точка. Отже, змініть редактор vim в режим вставки, натиснувши 'i', і змініть усі виділення у сквош, крім першого коміту. Тепер натисніть «Esc», щоб змінити режим вставки, і натисніть «: wq!', щоб зберегти всі зміни та вийти. Якщо ви використовуєте простий текстовий редактор, ви можете просто змінити слово "вибрати" на "сквош" і зберегти зміни. Після цього на терміналі ви побачите таке вікно:
Коли ви залишите цю оболонку, у вікні терміналу ви побачите такі повідомлення:
Якщо ви все потім зікрутите, ви побачите всі коміти, об'єднані в єдиний оператор коміту, який відображатиметься на терміналі:
Висновок
Використовуючи git squash, ви можете легко стиснути або стиснути багато комітів у менший одиничний коміт. Ви можете використовувати цей прийом, щоб виправити помилки в правописі документації. У цій статті ми застосували git squash. Ми також бачили, як ми можемо зробити історію чистою за допомогою команд git rebase і squash.