Pas tri muajsh zhvillimi, u publikua versioni 2.44 i sistemit të shpërndarë të menaxhimit të kodit burimor Git. Git është një nga sistemet më të njohura, të besueshme dhe me performancë të lartë për menaxhimin e versioneve, që ofron mjete fleksibile për zhvillimin jo-linear, të bazuara në dega dhe bashkime. Për të siguruar integritetin e historisë dhe qëndrueshmërinë ndaj ndryshimeve "me qëllim retroaktiv", përdoret hashingu implicit i të gjitha historive të mëparshme në çdo commit, gjithashtu është e mundur të validohen nënshkrimet digjitale të zhvilluesve për etiketat dhe commit-et e veçanta. Kodi i Git shpërndahet nën licencën GPLv2+.
Krahasuar me versionin e kaluar, në versionin e ri janë pranuar 503 ndryshime, të përgatitura me pjesëmarrjen e 85 zhvilluesve, nga të cilët 34 morën pjesë për herë të parë në zhvillim. Pikat kryesore të reja:
- Shtuar një komandë të re "git replay", e cila mund të përdoret si një alternativë për "git rebase" dhe për t'i rikrijuar historitë në serveri pa një punë të drejtë (bare-repository, që nuk përmban një punë të drejtë), për të trajtuar shumë dega në të njëjtën kohë, për të kryer operacione rebase për dega që janë të ndryshme nga ato që janë të nxjerra në këtë moment, ose thjesht për të përshpejtuar operacionet e bashkimit.
- Shtuar mbështetje për sistemin e integrimit të vazhdueshëm GitLab CI.
- NĂ« komandat "git add" dhe "git stash" Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r atributet e rrugĂ«ve ":(attr:âŠ)" tĂ« vendosura sipas analogjisĂ« me komandĂ«n "git show". PĂ«r shembull "git add ':(attr:~binary)'" mund tĂ« pĂ«rdoret pĂ«r tĂ« shtuar tĂ« gjithĂ« skedarĂ«t tekstualĂ« (jo binarĂ«) nĂ« indeks. ShtesĂ« nĂ« kĂ«tĂ« version Ă«shtĂ« propozuar atributi "builtin_objectmode" pĂ«r filtrimin e rrugĂ«ve tĂ« skedarĂ«ve sipas drejtave tĂ« aksesit. PĂ«r shembull, "git add ':(attr:builtin_objectmode=100755)'" mund tĂ« pĂ«rdoret pĂ«r tĂ« shtuar tĂ« gjithĂ« skedarĂ«t ekzekutues.
- Shtuar mbështetje për riciklimin e objekteve, të shpërndara në disa paketa, për të cilat ka një indeks përmbledhës (multi-pack-index) me të dhëna për disponueshmërinë e objekteve (optimizim që lejon që në vend të transferimit të të dhënave faktike, të referohet përdorimi i të dhënave që tashmë janë të pranishme në paketat). Duke filluar nga versioni 2.44, git tani mund të trajtojë riciklimin e objekteve mbi shumë paketa, pa nevojën për të ripaketuara repository-n në një paketë të vetme. Për të aktivizuar mundësinë e re, duhet të ekzekutoni komandat: git config --global pack.allowPackReuse multi git multi-pack-index write --bitmap
pas së cilës numri i paketeve, nga të cilat riciklohen objektet, mund të ndjeket në vlerën "pack-reused ... (from N)", e cila tregohet kur ekzekutohet "git push".
- Komanda "git rebase --autosquash" tani mund të përdoret për operacione rebase në mënyrë jo interaktive, duke lejuar që të bëhet rebase dhe të aplikohen shpejt korrigjimet fixup pa inspektuar listën e ndryshimeve dhe pa ndryshuar variablin e mjedisit GIT_SEQUENCE_EDITOR.
- Në komandën "git merge-file" është shtuar opsioni "--diff-algorithm" për të zgjedhur një algoritëm alternativ për vlerësimin e diferencave midis skedarëve.
- Në komandën "git checkout -B []" është ndaluar përditësimi dhe nxjerrja e degëve që përdorin një punë tjetër. Për të kthyer sjelljen e vjetër, është shtuar opsioni "--ignore-other-worktrees."
- Shtuar mundësia për të caktuar konfigurimin "git config advice.pushAlreadyExists" me vlerën "true", që heq nga shfaqja e sugjerimeve (hint) udhëzimin për shkëputjen e tyre ("Disable this message with...") që merr vend në ekran.
- Optimizuar ekzekutimi i komandës "git for-each-ref" me opsionin "--no-sort", i cili tani sjell rezultat në rend të paqartë (më parë, duke u treguar "--no-sort" akoma aplikohej rendi alfabetik). Pas optimizimeve, përdorimi i "--no-sort" tani përshpejton "git for-each-ref" me rreth 20% në repositorët me numër të madh referencash.
- Në backendin e menaxhimit të kredencialeve wincred është shtuar mbështetje për azhurnimin e tokeneve OAuth, në mënyrë të ngjashme siç implementohet në backendin credential-cache dhe credential-libsecret.
- Në "git fetch" është shtuar mbështetje për parametrin e konfigurimit "fetch.all", i cili do të përpunohet në mënyrë të ngjashme me shtimin e opsionit "--all" në komandën.
Burimi: opennet.ru
