Vrystelling van die verspreide bronbeheerstelsel Git 2.24

Beskikbaar vrystelling van 'n verspreide bronbeheerstelsel git 2.24.0. Git is een van die gewildste, betroubare en hoëprestasie-weergawebeheerstelsels, wat buigsame nie-lineêre ontwikkelingsinstrumente bied wat gebaseer is op vertakking en samesmelting. Om die integriteit van die geskiedenis en weerstand teen terugwerkende veranderinge te verseker, word implisiete hashing van die hele vorige geskiedenis in elke commit gebruik; dit is ook moontlik om individuele etikette en commits te sertifiseer met digitale handtekeninge van die ontwikkelaars.

In vergelyking met die vorige weergawe, het die nuwe weergawe 544 veranderinge ingesluit, voorberei met die deelname van 78 ontwikkelaars, waarvan 21 vir die eerste keer aan ontwikkeling deelgeneem het. Die belangrikste innovasies:

  • Bygevoeg ondersteuning vir konfigurasie makro's, waardeur jy vinnig kan wissel tussen verskillende stelle instellings sonder om in detail te gaan oor die spesifieke opsies wat daarmee geassosieer word. Met behulp van makro's hoef u nie te onthou watter instellings verander moet word om hierdie of daardie funksionaliteit te aktiveer nie. Byvoorbeeld, as 'n groot bewaarplek stadig is, wil jy dalk oorskakel na 'n nuwe indekseringsenjin, padvoorvoegselkompressie aktiveer en die ongespoorde lêerkas aktiveer deur index.version na 4 te stel en core.untrackedCache te aktiveer. Makro's laat jou toe om nie tyd te mors om na die regte oplossing in die dokumentasie te soek nie, maar om instellings onmiddellik te aktiveer met optimalisering vir bewaarplekke met 'n groot aantal lêers:

    git config feature.manyFiles waar

  • Включено по умолчанию хранение объектов в форме графа коммитов (commit-graph), при котором для индексации используется не линейный список хэшей объектов со ссылками на другие объекты, а структура в виде графа. Если раньше для определения релизов в которых содержится определённое исправление требовалась загрузка каждого объекта с диска для поиска ссылок, то при хранении в виде графа можно сразу определить все необходимые связи. Перевод на хранения в виде графа коммитов в репозиториях ядра Linux и Git позволил добиться почти двухкратного увеличения производительности операций с ветками. Для активации нового метода хранения после обновления до Git 2.24 следует выполнить команду «git gc».

    Onder die veranderinge wat met commit-grafiek geassosieer word, neem ons ook kennis dat die implementering van die operasievorderingsaanwyser in commit-grafiekverwante opdragte ("git commit-grafiek skryf", "git commit-grafiek verifieer", ens.) gebring is. na 'n algemene vorm met ander opdragte.). Die vorderingsaanwyser word nou net by verstek vir die terminale vertoon (gebruik die "-[geen-]vordering" opsie om die gedrag te verander). Daarbenewens is 'n nuwe konfigurasieparameter fetch.writeCommitGraph bygevoeg, wat outomatiese opdatering van die lêer met die commit-grafiek moontlik maak tydens "git fetch"-bewerkings (alle commits wat van eksterne bewaarplekke verkry word, sal onmiddellik na die commit-grafiek gaan sonder dat dit nodig is om hardloop auto-gc afsonderlik);

  • Het 'n opdrag bygevoeg om die veranderingsgeskiedenis te oorskryf - "git filter-repo", wat 'n eenvoudiger alternatief vir die opdrag is"git filter-tak» om bewerkings op die geskiedenis van veranderinge in die bewaarplek uit te voer (byvoorbeeld om 'n lêer uit die bewaarplek uit te vee of die geskiedenis van veranderinge aan 'n spesifieke gids terug te haal). Om doeltreffendheid te verbeter, in plaas van ordelike commit-by-commit-ontleding, voer git filter-repo bewerkings uit op die geskiedenisvoorstelling in die vorm van 'n deurlopende stroom.

    Geskiedenisfiltrering word uitgevoer met behulp van die "-path-{glob,regex}" opsie, wat jou toelaat om beide eenvoudige maskers en gereelde uitdrukkings te gebruik. Daar is ook opsies om 'n soektog uit te voer en binêre voorwerpe wat groter is as 'n gespesifiseerde grootte te vervang of skoon te maak. Elke hergeskrewe commit word voorsien van 'n nuwe SHA-1 hash identifiseerder en alle verwysings na die vervangde commit word opgedateer in ooreenstemming met die nuwe identifiseerder.

    Om 'n opsomming van statistieke oor die bewaarplek te vertoon (aantal voorwerpe volgens tipe, grootste lêers en gidse, watter uitbreidings meer skyfspasie benodig, ens.), word die "-analiseer" opsie verskaf. Om die funksionaliteit uit te brei, is dit moontlik om arbitrêre terugbelhanteerders in Python te koppel, waardeur jy beide nuwe subopdragte kan skep en verskeie gebeurtenisse kan verwerk (byvoorbeeld nuwe lêertipes);

  • Bygevoeg "--einde-van-opsies" opsie om opsies van skakelname te skei, wat met 'n "-" karakter kan begin en as opsies behandel word ("git log --einde-van-opsies -super-gevaarlike-opsie" ). As sulke name in die alledaagse lewe ontsnap kan word as "git log 'refs/heads/—super-dangerous-option'", dan kan die skrifte probleme hê om die naamruimte te definieer. Die algemeen aanvaarde skeidingsteken " - " is nie van toepassing in hierdie geval nie, aangesien dit reeds gebruik word om skakelname van lêers te skei (byvoorbeeld, “git log —end-of-options —super-dangerous-option ^master — pad/na /lêer");
  • Bygevoeg "--strategie" en "--strategie-opsie" opsies by "git rebase --rebase-merges" om te kies samesmeltingstrategieë;
  • Het 'n nuwe ".git/hooks/pre-merge-commit"-hanteerder bygevoeg wat geroep word nadat 'n samesmelting voltooi is maar voordat die gevolglike commit geskryf is;
  • Ondersteuning vir die voltooiing van konfigurasieveranderlikes met betrekking tot die instellings van spesifieke opdragte is by die opdragvoltooiingsenjin gevoeg.
    As jy byvoorbeeld “git -c core.autocrlf=false add path/to/my/file” moet tik, maar nie die presiese naam van die “core.autocrlf”-veranderlike onthou nie, kan jy Tab druk en 'n wenk.

Boonop Git-ontwikkelaars bygevoeg gedragskode vir 'n projekdeelnemer, wat die basiese beginsels vir die oplossing van konfliksituasies definieer. Die dokument is gebaseer op die aanbevelings "Bydraer Verbond«, применяемых во многих открытых проектах, включая ядро Linux, Eclipse, Freedesktop, GitLab, Ruby и Kubernetes. Документ определяет равные возможности для всех участников, независимо от их мировоззрения, возраста, пола, религиозных предпочтений, уровня образования, социального статуса и национальности. В сообществе приветствуется дружелюбная форма общения, понимание, сопереживание проблемам других участников, восприятие конструктивной критики, принятие наилучших для всего сообщества решений. Не допускаются троллинг, оскорбительная манера общения, попытки унижения, домогательства, нарушения неприкосновенности частной жизни, разглашение персональных сведений, а также другие действия, которые могут считаться неуместными при профессиональном общении.

Bron: opennet.ru

Koop betroubare hosting vir werwe met DDoS-beskerming, VPS VDS-bedieners 🔥 Koop betroubare webwerfhosting met DDoS-beskerming, VPS VDS-bedieners | ProHoster