მთელ მსოფლიოში, Git არის ყველაზე ხშირად გამოყენებული ვერსიის კონტროლის სისტემა (VCS) პროექტის მონიტორინგისა და კონტროლისთვის. ის ასევე გთავაზობთ გაფანტულ და თანამშრომლობით სამუშაო გარემოს, ხელს უწყობს თანამშრომლობას.
განშტოება არის Git-ის ერთ-ერთი ყველაზე მნიშვნელოვანი ფუნქცია, რადგან ის საშუალებას გაძლევთ შექმნათ ცალკე არხი გარკვეული ცვლილებების ნაკრებისთვის, როგორიცაა შეცდომების პატჩი, ახალი ფუნქციების განვითარება ან ექსპერიმენტები, მთავარ ფილიალზე გავლენის გარეშე.
სხვა Git ოპერაციებთან შედარებით, განშტოება საკმაოდ მარტივი მეთოდია. ის საშუალებას გაძლევთ გადაუხვიოთ ორიგინალური კოდის ბაზიდან.
Branching გაძლევთ საშუალებას ითანამშრომლოთ სხვა დეველოპერებთან უფრო სწრაფად და გაძლევთ დიდ თავისუფლებას თქვენს სამუშაო პროცესში. ის ასევე საშუალებას გაძლევთ იმუშაოთ ახალ მახასიათებლებზე, დანარჩენი კოდების ბაზაზე გავლენის გარეშე.
Git-ის განშტოების მექანიზმი იძლევა პროექტის შიგნით ახალი ფილიალების დაარსების საშუალებას.
ეს დამატებითი ფილიალები შეიძლება გამოყენებულ იქნას კოდის ცვლილებების შესამოწმებლად, პროექტის მთავარ კოდში ჩარევის გარეშე. თუ კორექტირება წარმატებულია, ფილიალი შეიძლება გაერთიანდეს მთავარ ფილიალში.
თუმცა, არის შემთხვევები, როდესაც საჭიროა Git ფილიალის წაშლა ადგილობრივად, მაგრამ არა დისტანციურად. წაიკითხეთ იმის გასარკვევად, თუ როგორ უნდა გააკეთოთ ეს.
რა არის Git Branch?
Git-ს შეუძლია აკონტროლოს მუშაობის რამდენიმე ხაზი განშტოების წყალობით. ეს საშუალებას გაძლევთ იმუშაოთ თქვენი პროექტის რამდენიმე ვერსიაზე ერთდროულად.
ბევრი პროექტი შეინარჩუნებს სტაბილურ მთავარ ფილიალს, ახალი ფუნქციების დამატებისას ან შეცდომის გამოსწორებისას განვითარების ან ტესტირების ფილიალზე.
როდესაც პროექტის მენეჯერები დარწმუნებულები არიან, რომ Dev-ის ფილიალში განხორციელებული ცვლილებები აკმაყოფილებს კრიტერიუმებს, მათ შეუძლიათ შეაერთონ ეს ცვლილებები მთავარ ფილიალში. გარკვეული უფრო დიდი პროექტებისთვის ეს ციკლი ხშირად განუსაზღვრელი ვადით მეორდება.
Git-ის განვითარების ფილიალებთან მუშაობა მშვენიერი მიდგომაა ჩვენს პროგრამასთან მუშაობისთვის, მისი ვერსიების თვალყურის დევნების დროს. განვითარების ფილიალი, ზოგადად, არის კოდის მდგომარეობის გაყოფა, რომელიც ადგენს ახალ მარშრუტს მისი წინსვლისთვის.
ის შეიძლება იმუშაოს Git-ის სხვა ფილიალების პარალელურად, შეგიძლიათ შექმნათ. შესაძლებელია ჩვენს კოდს ახალი ფუნქციების დამატება ორგანიზებულად და ზუსტად.
რატომ და როდის სჭირდება წაშლა?
ტიპიური ტექნიკური პრაქტიკაა Git ფილიალების წაშლა, როდესაც ისინი აღარ გამოიყენება, თუმცა ეს ყოველთვის არ არის უნივერსალური ან გასაგები.
რატომ უნდა ამოიღოთ მოძველებული Git ფილიალები თქვენი საცავიდან? ამის ორი ძირითადი მიზეზი არსებობს:
- ისინი არასაჭიროა. ფილიალების უმეტესობას, განსაკუთრებით მათ, ვინც დაკავშირებულია მოზიდვის მოთხოვნასთან, რომელიც საბოლოოდ დამტკიცებულია, არ აქვს ფუნქცია.
- ისინი დაბნეულობის წყაროა. ისინი არ ამატებენ მნიშვნელოვან ტექნოლოგიურ ხარჯებს, მაგრამ ისინი უფრო რთულს ხდიან საცავში არსებული ფილიალების სიებთან მუშაობას ადამიანებისთვის.
ფილიალები შეიძლება წაიშალოს უსაფრთხოდ, ყოველგვარი მოდიფიკაციის დაკარგვის შიშის გარეშე.
განიხილეთ შემდეგი სცენარი: ფილიალი patch-1 გაერთიანდება მთავარ ფილიალთან pull მოთხოვნის მეშვეობით. გაერთიანებამდე, Master-ისა და Patch-1-ის შერწყმამდე, თითოეული მიუთითებს git commit ისტორიის სხვადასხვა ვერსიებზე.
შერწყმის შემდეგ (თუ დამატებულია ახალი შერწყმის commit), master და patch-1 ორივე უკავშირდება ახალ შერწყმის კომიტს. ამ ეტაპზე, pull-ის მოთხოვნა დასრულებულია და ყველა მომავალი ბიძგი უნდა წარედგინოს მასტერს და არა patch-1-ს.
ადგილობრივი vs დისტანციური ფილიალი Git-ში
დისტანციური ფილიალი – ის განლაგებულია ცალკეულ სისტემაზე, ზოგადად სერვერზე, რომელსაც დეველოპერებს შეუძლიათ წვდომა. როდესაც დისტანციური ფილიალი წაიშლება, ის წაიშლება ყველა მომხმარებლისთვის.
ლოკალური ფილიალი - ლოკალურ სისტემაზე შენახულია ადგილობრივი ფილიალი. ადგილობრივი ფილიალის წაშლა გავლენას არ ახდენს შორეულ ფილიალზე.
როგორ წაშალოთ ფილიალები ადგილობრივად?
ის არ მოგცემთ საშუალებას წაშალოთ ის ფილიალი, რომელზეც ახლა მუშაობთ, ამიტომ დარწმუნდით, რომ შეაფასეთ ფილიალი, რომელსაც არ წაშლით. დავიწყოთ იმით, თუ როგორ უნდა ამოიღოთ ადგილობრივი ფილიალი.
- დასაწყებად, გაუშვით ბრძანება (git branch -a), რომ ნახოთ ყველა ფილიალი (როგორც ლოკალური, ასევე დისტანციური).
- შემდეგ, (git branch -d) ბრძანების გამოყენებით, რასაც მოჰყვება იმ ფილიალის სახელი, რომლის წაშლა გსურთ, შეგიძლიათ წაშალოთ იგი.
თუ თქვენ ცდილობთ ფილიალის ამოღებას შეუერთებელი ცვლილებებით, გამოჩნდება შემდეგი შეცდომის შეტყობინება:
როგორც ზემოთ მოყვანილი შეტყობინება მიუთითებს, ფილიალის წაშლის იძულებით, გამოიყენეთ -D ვარიანტი, რომელიც არის მალსახმობი —delete —force-ისთვის.
გთხოვთ, გახსოვდეთ, რომ გაუერთიანებული ფილიალის წაშლა გამოიწვევს ამ ფილიალის ყველა მოდიფიკაციის დაკარგვას.
თუ თქვენ ცდილობთ წაშალოთ მიმდინარე ფილიალი, ნახავთ შემდეგ შეტყობინებას:
თქვენ არ შეგიძლიათ წაშალოთ ის ფილიალი, რომელზეც ახლა იმყოფებით. ჯერ გადაერთეთ სხვა ფილიალზე, შემდეგ წაშალეთ ფილიალის სახელი:
ფილიალის წაშლის უარყოფითი მხარე
ფილიალების წაშლის შესაძლო მინუსი არის ის, რომ ფილიალის მდებარეობასთან ნებისმიერი კავშირი გატეხილია (GitHub-ში და ა.შ.).
მე თითქმის არ მქონია მუდმივი ბმულები არა-ძირითად ფილიალებთან და თუ მსურს რაიმე სამუშაოს დაკავშირება კონკრეტულ ფილიალზე, ამას გავაკეთებდი მას შემდეგ, რაც ის გადაიქცევა pull-ის მოთხოვნად (ამ შემთხვევაში მე მივაბრუნებდი ბმულს მოზიდვა-მოთხოვნა).
საბოლოო სიტყვები
იმის ცოდნა, თუ როგორ გამოიყენოთ განვითარების ფილიალები, გადამწყვეტია თქვენი განაცხადის სისტემატური გზით შესაქმნელად. იზრუნეთ თქვენი კოდის სტრუქტურირებაზე სხვადასხვა ფილიალებში.
თუ რაიმე მომენტში არ ხართ დარწმუნებული რთულ ოპერაციაში, ყოველთვის კარგი იდეაა წაიკითხოთ Git-ის ოფიციალური დოკუმენტაცია ტოტებზე.
დატოვე პასუხი