Sobes.tech
Junior

Ինչպես միացնել մի քանի commit-ներ մեկում՝ օգտագործելով Git?

sobes.tech AI

Պատասխան AI-ից

Git օգտագործելով մի քանի commit-ներ միացնելու համար, օգտագործեք հրամանը git rebase -i <commit-ish>:

  1. Հստակեցրեք այն commit-ը, մինչև որը ցանկանում եք միացնել: Դա կարող է լինել commit-hash, ճյուղ կամ տեգ:
  2. Կատարեք git rebase -i <commit-ish> հրամանը: Օրինակ, վերջին 3 commit-ները միացնելու համար:
    git rebase -i HEAD~3
    
  3. Բացվում է տեքստային խմբագիր, որը ցուցադրում է commit-ների ցանկը: Առաջին commit-ը ցանկում (վերին) պետք է ունենա բառը pick: Մյուս commit-ները, որոնք ցանկանում եք միացնել առաջինի հետ, փոխեք pick-ից squash կամ s:
    pick abcd123 Առաջին commit
    squash efgh456 Ֆունկցիայի A մաս 1
    squash ijkl789 Ֆունկցիայի A մաս 2
    ...
    
  4. Պահպանեք և փակեք խմբագիրը:
  5. Նոր խմբագիր կբացվի, որտեղ կարող եք ստեղծել commit հաղորդագրությունը: Միացրեք կամ խմբագրեք commit հաղորդագրությունները ըստ ցանկության, որպեսզի ստեղծեք իմաստալից հաղորդագրություն նոր միացված commit-ի համար:
    // Նոր միացված commit-ի հաղորդագրություն
    
    // Սա 3 commit-ների համադրությունն է:
    
    // Առաջին commit
    // Ֆունկցիայի A մաս 1
    // Ֆունկցիայի A մաս 2
    
  6. Պահպանեք և փակեք խմբագիրը: Git-ը կիրականացնի commit-ների միացումը:

Եթե աշխատող ճյուղը արդեն ուղարկվել է հեռավոր ռեպոզիտորիա, անհրաժեշտ է ուժեղ push կատարել -f կամ --force-with-lease նշանով:

git push origin <ձեր_ճյուղը> -f

Սա անհրաժեշտ է, քանի որ commit-ների պատմությունը փոխվել է: Ուժեղ push-ը կարող է լինել վտանգավոր, եթե այլ ծրագրավորողներ արդեն աշխատում են այդ ճյուղի վրա: Ամեն դեպքում ստուգեք, արդյոք հնարավոր է ուժեղ push անել:

Այլընտրանքային, դուք կարող եք օգտագործել --fixup և --autosquash նշանները commit-ների ժամանակ, և հետո կատարել git rebase -i --autosquash <commit-ish>՝ ավտոմատ միացման համար: