Тази статия ще ви разкаже как да смачкате всички ангажименти в един коммит в git. Приложихме всички стъпки в дистрибуцията на CentOS 8 Linux.
Скуошът се обвързва в едно с git
Можете да приложите git squashing в следните стъпки:
Стъпка 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!'за да запазите всички промени и да излезете. Ако тогава използвате обикновения текстов редактор, можете просто да промените думата „pick“ в „squash“ и да запазите промените. След това ще видите следния прозорец на терминала:
Когато напуснете тази обвивка, ще видите следните съобщения в прозореца на терминала:
Ако ще смачкате всички тогава, ще видите всички фиксирани комбинирани в един израз на фиксиране, който ще се покаже на терминала:
Заключение
Използвайки git squash, можете лесно да смачкате или компресирате много ангажименти в по-малък единичен коммит. Можете да използвате тази техника, за да коригирате правописни грешки в документацията. В тази статия внедрихме git squash. Също така видяхме как можем да направим историята чиста, използвайки командите git rebase и squash.