Junior
როგორ შევაერთოთ რამდენიმე commit Git-ის გამოყენებით?
sobes.tech AI
პასუხი AI-სგან
გადაერთოთ რამდენიმე კომიტი ერთში Git-ის გამოყენებით, გამოიყენეთ ბრძანება git rebase -i <commit-ish>.
- განსაზღვრეთ კომიტი, რომლის ჩართვაც გსურთ. ეს შეიძლება იყოს კომიტის ჰეში, ფილიალი ან ტეგი.
- შეასრულეთ ბრძანება
git rebase -i <commit-ish>. მაგალითად, ბოლო 3 კომიტის ერთიანად გაერთიანებისთვის:git rebase -i HEAD~3 - გახსნიან ტექსტური რედაქტორი კომიტების სიით. პირველი კომიტი სიაში (ზევით) უნდა იყოს სიტყვა
pick. დანარჩენი კომიტები, რომლებსაც გსურთ პირველი კომიტთან გაერთიანება, უნდა შეიცვალოსpick-დანsquashანs-ზე.pick abcd123 საწყისი კომიტი squash efgh456 ფუნქცია A ნაწილი 1 squash ijkl789 ფუნქცია A ნაწილი 2 ... - შეინახეთ და დახურეთ რედაქტორი.
- გაიხსნება ახალი რედაქტორი კომიტის შეტყობინების შესაქმნელად. გაერთიანეთ ან რედაქტირეთ კომიტების შეტყობინებები თქვენი სურვილისამებრ, რათა შექმნათ ერთი აზრიანი შეტყობინება ახალი გაერთიანებული კომიტისთვის.
// ახალი გაერთიანებული კომიტის შეტყობინება // ეს არის 3 კომიტის კომბინაცია. // საწყისი კომიტი // ფუნქცია A ნაწილი 1 // ფუნქცია A ნაწილი 2 - შეინახეთ და დახურეთ რედაქტორი. Git შეასრულებს კომიტების გაერთიანებას.
თუ ფილიალი, რომელზეც მუშაობთ, უკვე გაგზავნილია დისტანციურ რეპოზიტორიაში, საჭიროა ძალით გაგზავნა -f ან --force-with-lease ფლაგით.
git push origin <თქვენი_ფილიალი> -f
ეს აუცილებელია, რადგან კომიტების ისტორია შეიცვალა. ძალით გაგზავნა შეიძლება იყოს საშიში, თუ სხვა დეველოპერები უკვე მუშაობენ ამ ფილიალზე. ყოველთვის გადაამოწმეთ, შესაძლებელია თუ არა ცვლილებების ძალით გაგზავნა ფილიალში.
ალტერნატიულად, შეგიძლიათ გამოიყენოთ --fixup და --autosquash ფლაგები კომიტების დროს, და შემდეგ შეასრულოთ git rebase -i --autosquash <commit-ish> ავტომატური გაერთიანებისთვის.