Sobes.tech
Junior

როგორ შევაერთოთ რამდენიმე commit Git-ის გამოყენებით?

sobes.tech AI

პასუხი AI-სგან

გადაერთოთ რამდენიმე კომიტი ერთში Git-ის გამოყენებით, გამოიყენეთ ბრძანება git rebase -i <commit-ish>.

  1. განსაზღვრეთ კომიტი, რომლის ჩართვაც გსურთ. ეს შეიძლება იყოს კომიტის ჰეში, ფილიალი ან ტეგი.
  2. შეასრულეთ ბრძანება git rebase -i <commit-ish>. მაგალითად, ბოლო 3 კომიტის ერთიანად გაერთიანებისთვის:
    git rebase -i HEAD~3
    
  3. გახსნიან ტექსტური რედაქტორი კომიტების სიით. პირველი კომიტი სიაში (ზევით) უნდა იყოს სიტყვა pick. დანარჩენი კომიტები, რომლებსაც გსურთ პირველი კომიტთან გაერთიანება, უნდა შეიცვალოს pick-დან squash ან s-ზე.
    pick abcd123 საწყისი კომიტი
    squash efgh456 ფუნქცია A ნაწილი 1
    squash ijkl789 ფუნქცია A ნაწილი 2
    ...
    
  4. შეინახეთ და დახურეთ რედაქტორი.
  5. გაიხსნება ახალი რედაქტორი კომიტის შეტყობინების შესაქმნელად. გაერთიანეთ ან რედაქტირეთ კომიტების შეტყობინებები თქვენი სურვილისამებრ, რათა შექმნათ ერთი აზრიანი შეტყობინება ახალი გაერთიანებული კომიტისთვის.
    // ახალი გაერთიანებული კომიტის შეტყობინება
    
    // ეს არის 3 კომიტის კომბინაცია.
    
    // საწყისი კომიტი
    // ფუნქცია A ნაწილი 1
    // ფუნქცია A ნაწილი 2
    
  6. შეინახეთ და დახურეთ რედაქტორი. Git შეასრულებს კომიტების გაერთიანებას.

თუ ფილიალი, რომელზეც მუშაობთ, უკვე გაგზავნილია დისტანციურ რეპოზიტორიაში, საჭიროა ძალით გაგზავნა -f ან --force-with-lease ფლაგით.

git push origin <თქვენი_ფილიალი> -f

ეს აუცილებელია, რადგან კომიტების ისტორია შეიცვალა. ძალით გაგზავნა შეიძლება იყოს საშიში, თუ სხვა დეველოპერები უკვე მუშაობენ ამ ფილიალზე. ყოველთვის გადაამოწმეთ, შესაძლებელია თუ არა ცვლილებების ძალით გაგზავნა ფილიალში.

ალტერნატიულად, შეგიძლიათ გამოიყენოთ --fixup და --autosquash ფლაგები კომიტების დროს, და შემდეგ შეასრულოთ git rebase -i --autosquash <commit-ish> ავტომატური გაერთიანებისთვის.