დაწყების ახალი ვერსია Git 2.37, რომელიც ერთ-ერთია ყველაზე პოპულარული ვერსიის კონტროლის სისტემები, სანდო და მაღალი ხარისხის პროგრამული უზრუნველყოფა, რომელიც უზრუნველყოფს მოქნილ არაწრფივი განვითარების ინსტრუმენტებს, რომლებიც დაფუძნებულია ჩანგლებისა და ჩანგლების გაერთიანებაზე.
ისტორიის მთლიანობისა და ცვლილებებისადმი წინააღმდეგობის უზრუნველსაყოფად, ყველა წინა ისტორიის "უკან" იმპლიციტური ჰეში გამოიყენება თითოეულ კომიტზე, ასევე შესაძლებელია ცალკეული ტეგის ციფრული ხელმოწერების გადამოწმება და დეველოპერების ჩაწერა.
Git 2.37 მაჩვენებლები
წინა ვერსიასთან შედარებით, ახალ ვერსიაში მიღებულია 395 ცვლილება, მომზადდა 75 დეველოპერის მონაწილეობით, რომელთაგან 20-მა პირველად მიიღო მონაწილეობა განვითარებაში.
ამ ახალ ვერსიაში ხაზგასმულია, რომ ნაწილობრივი ინდექსების მექანიზმი (მწირი ინდექსი), რომელიც მოიცავს საცავის მხოლოდ ნაწილს, სe მომზადებულია ფართო გამოყენებისთვის. ნაწილობრივი ინდექსებს შეუძლიათ გააუმჯობესონ შესრულება და დაზოგონ სივრცე საცავებში, რომლებიც ასრულებენ ნაწილობრივი კლონირების ოპერაციებს (მწირი გადახდა) ან ფუნქციონირებს საცავის არასრულ ასლზე.
ახალი ვერსია ასრულებს მუშაობას ნაწილობრივი ინდექსების ინტეგრაცია ბრძანებებში "git show", "git sparse-checkout" და "git stash". ნაწილობრივი ინდექსების გამოყენებისას შესრულების ყველაზე შესამჩნევი მოგება არის "git stash" ბრძანება, რომელიც ზოგიერთ სიტუაციაში 80%-მდე უფრო სწრაფია.
კიდევ ერთი ცვლილება, რომელიც გამორჩეულია, არის ის დანერგილია ახალი მექანიზმი „კრაფტის პაკეტები“. მიუწვდომელი ობიექტების შეფუთვაზე, რომლებიც არ არის მითითებული საცავში (არ არის მითითებული ფილიალებით ან ტეგებით). ნაგვის შემგროვებელი შლის მიუწვდომელ ობიექტებს, მაგრამ ისინი რჩებიან საცავში გარკვეული დროით, სანამ წაშლიან, რათა თავიდან აიცილონ რასის პირობები. მიუწვდომელი ობიექტების პერიოდის თვალყურის დევნებისთვის, სავალდებულოა, ისინი მონიშნულია მსგავსი ობიექტების შეცვლის დროით, რაც არ იძლევა საშუალებას შეინახოს ისინი პაკეტის ფაილში, რომელშიც ყველა ობიექტს აქვს საერთო მოდიფიკაციის დრო.
თითოეული ადრე გამოყენებული ობიექტის ცალკე ფაილში შენახვით, ფაილმა გამოიწვია პრობლემები დიდი რაოდენობით ახალი მიუწვდომელი ობიექტების თანდასწრებით, ჯერ არა. შემოთავაზებული "cruft packs" მექანიზმი საშუალებას აძლევს ყველა მიუწვდომელ ობიექტს შეინახოს bundle ფაილში და მონაცემები თითოეული ობიექტის მოდიფიკაციის დროის შესახებ აისახება ცალკე ცხრილში, რომელიც ინახება ფაილში გაფართოებით ".mtimes".
Windows-ისთვის და macOS-ისთვის არის ჩაშენებული მექანიზმი თვალყური ადევნოთ ფაილურ სისტემაში ცვლილებებს, რომლებიც გამორიცხავს მთელი სამუშაო დირექტორიას ჩამოთვლის აუცილებლობას ოპერაციების შესრულებისას, როგორიცაა "git status". ადრე, ჰუკების საშუალებით ცვლილებების თვალყურის დევნებისთვის, შეგიძლიათ დააკავშიროთ გარე ფაილური სისტემის ცვლილებების თვალთვალის საშუალებები, როგორიცაა Watchman, მაგრამ ეს მოითხოვდა დამატებითი პროგრამებისა და კონფიგურაციების დაყენებას. ეს ფუნქცია ახლა ჩაშენებულია და მისი ჩართვა შესაძლებელია "git config core.fsmonitor true"-ით.
ბრძანება "git sparse-checkout"-მა შეწყვიტა "--cone" რეჟიმის ალტერნატივის მხარდაჭერა შაბლონის განსაზღვრა ნაწილობრივი კლონირებისთვის, რომელიც საშუალებას იძლევა კლონირების ოპერაციას დაქვემდებარებული საცავის ნაწილის განსაზღვრისას ჩამოთვალოს ცალკეული ფაილები ".gitignore" სინტაქსის გამოყენებით, რომელიც არ იძლევა ნაწილობრივი ინდექსების ოპტიმიზაციის საშუალებას.
სხვა ცვლილებებიდან რომ გამოირჩევა:
- გაუმჯობესებული მოქნილობა fsync() ზარის კონფიგურაციისას დისკზე ცვლილებების გასასუფთავებლად.
- "core.fsyncMethod" პარამეტრს დაემატა "batch" სინქრონიზაციის სტრატეგიის მხარდაჭერა, რომელიც აჩქარებს მუშაობას დიდი რაოდენობის ცალკეული ფაილების დაწერისას ცვლილებების დაგროვებით გადაწერის ქეში, რომელიც გარეცხილია ერთი fsync() ზარით.
- გადაკვეთის ბრძანებებს, როგორიცაა "git log" და "git rev-list" ახლა აქვს "–since-as-filter=X" ოფცია, რათა გაფილტროს ინფორმაცია "X"-ზე ძველი ჩადენების შესახებ.
- "git remote" ბრძანებაში, "-v" დროშის მითითება იძლევა ინფორმაციას საცავის ნაწილობრივი კლონების შესახებ.
- დამატებულია "transfer.credentialsInUrl" პარამეტრი, რომელსაც შეუძლია მიიღოს მნიშვნელობები "warn", "die" და "allow". თუ პარამეტრი „დისტანციური. .
- ნაგულისხმევად, გამოიყენება "git add -i" ბრძანების ახალი ინტერაქტიული რეჟიმის განხორციელება, რომელიც გადაწერილია Perl-დან C-მდე.
საბოლოოდ თუ გაინტერესებთ ამის შესახებ მეტი იცოდეთ, თქვენ შეგიძლიათ შეამოწმოთ დეტალები შემდეგ ბმულზე.
იყავი პირველი კომენტარი