Как да смажете всички ангажименти в едно?

How Do You Squash All Commits One



В Git Squash е техника, която ви позволява да правите поредица от промени в коммитите и след това да ги консолидирате в един коммит. Нека да обясним с помощта на пример, да предположим, че имате n брой коммити и когато приложите git squashing върху тях, можете да смачкате или компресирате всички „n“ коммити в само един коммит. Git squash се използва за промяна на няколко големи коммита в малък единичен смислен ангажимент. Така че можете да направите git log по -ясен. Можете също да обединявате клони, използвайки техниката на смачкване. Най -добрата практика е винаги да притискате ангажименти и да ги базирате отново с главния или родителския клон.

Тази статия ще ви разкаже как да смажете всички коммити в един коммит в git. Изпълнихме всички стъпки по дистрибуцията на CentOS 8 Linux.







Squash се ангажира в едно с git

Можете да приложите git squashing в следните стъпки:



Стъпка 1: Изберете Start commit

За да определите колко ангажименти трябва да смачкате, следната команда ще изпълните на терминала:



$ git дневник





Сега ще извикате git, за да започнете интерактивна сесия за пребазиране, като използвате следната команда:

$ git rebase -i HEAD ~ N

В горния HEAD ~ N, 'N' е общият брой ангажименти, които сте определили от командата 'git log'. Да приемем, че броят на коммитите е 4. Сега командата ще се промени в следната форма:

$ git rebase -i HEAD ~ 4

Следният списък с коммити ще се покаже на терминала, където всеки коммит се взира с думата за избор.

Стъпка 2: Променете Pick в Squash

Тук ще маркираме всички коммити като сгъваеми, оставяме първия коммит, който ще се използва като отправна точка. Така че, променете редактора на vim в режим на вмъкване, като натиснете „i“ и променете всички избиране на ангажимента в тиквата, с изключение на първия коммит. Сега натиснете „Esc“, за да промените режима на вмъкване, и натиснете „: wq!“, За да запазите всички промени и да излезете. Ако използвате простия текстов редактор, можете просто да промените думата „pick“ в „squash“ и да запазите промените. След това на терминала ще видите следния прозорец:

Когато напуснете тази обвивка, ще видите следните съобщения в прозореца на терминала:

Ако тогава ще смачкате всичко, ще видите всички ангажименти, комбинирани в един израз за ангажимент, който ще се показва на терминала:

Заключение

Използвайки git squash, можете лесно да смачкате или компресирате много ангажименти в по -малък единичен ангажимент. Можете да използвате тази техника, за да коригирате правописни грешки в документацията. Ние внедрихме git squash в тази статия. Видяхме също как можем да направим историята чиста с помощта на командите git rebase и squash.