Nieuwe versie van Git 2.28, waardoor het niet mogelijk is om de naam "master" te gebruiken voor master branches

Beschikbaar release van een gedistribueerd broncontrolesysteem Git 2.28.0. Git is een van de meest populaire, betrouwbare en krachtige versiebeheersystemen en biedt flexibele, niet-lineaire ontwikkeltools op basis van vertakken en samenvoegen. Om de integriteit van de geschiedenis en weerstand tegen veranderingen met terugwerkende kracht te garanderen, wordt in elke commit impliciete hashing van de gehele voorgaande geschiedenis gebruikt; het is ook mogelijk om individuele tags en commits te certificeren met digitale handtekeningen van de ontwikkelaars.

Vergeleken met de vorige release bevatte de nieuwe versie 317 wijzigingen, voorbereid met de deelname van 58 ontwikkelaars, van wie er 13 voor het eerst aan de ontwikkeling deelnamen. Basis innovaties:

  • De instelling init.defaultBranch is toegevoegd, waarmee u een willekeurige naam voor de hoofdvertakking kunt selecteren, die standaard zal worden gebruikt. Deze instelling is toegevoegd voor projecten waarvan de ontwikkelaars worden achtervolgd door herinneringen aan de slavernij, en het woord ‘meester’ wordt gezien als een beledigende hint of roept mentale angst en een gevoel van onverlost schuldgevoel op. GitHub, GitLab и BitBucket besloten om voor de hoofdtakken het woord “main” te gebruiken in plaats van het woord “master”. In Git gaat het uitvoeren van het "git init" commando, net als voorheen, standaard door met het aanmaken van de "master" branch, maar deze naam kan nu veranderd worden. Om bijvoorbeeld de naam van de initiële vertakking te wijzigen in "main", kunt u het commando gebruiken:

    git config --global init.defaultBranch hoofd

  • Prestatie-optimalisaties toegevoegd op basis van de weergave in het commit-graph-bestandsformaat, gebruikt om de toegang tot commit-informatie en ondersteuning te optimaliseren Bloom-filters, een probabilistische structuur die valse identificatie van een ontbrekend element mogelijk maakt, maar het weglaten van een bestaand element uitsluit. Met de gespecificeerde structuur kunt u het zoeken in de wijzigingsgeschiedenis aanzienlijk versnellen wanneer u de opdrachten “git log - "of" geef de schuld ".
  • Het “git status” commando geeft informatie over de voortgang van de gedeeltelijke kloonoperatie (sparse-checkout).
  • Er is een nieuwe instelling "diff.relative" voorgesteld voor de commandofamilie "diff".
  • Bij het controleren via "git fsck" wordt de sortering van de objectboom nu geëvalueerd en worden ongesorteerde elementen geïdentificeerd.
  • De interface voor het bewerken van gevoelige informatie in de traceeruitvoer is vereenvoudigd.
  • Ondersteuning voor het voltooien van opties voor het "git switch" commando is toegevoegd aan het invoeraanvullingsscript.
  • “git diff” ondersteunt nu het doorgeven van argumenten in verschillende notaties (“git diff A..BC”, “git diff A..BC…D”, enz.).
  • De mogelijkheid toegevoegd om een ​​aangepaste elementtoewijzing te specificeren aan het "git fast-export --anonymize" commando om de uitvoer te verfijnen en debuggen beter te maken.
  • Met de "git gui" kun je werkende bomen openen vanuit het initiële dialoogvenster.
  • Het “fetch/clone”-protocol implementeert de mogelijkheid voor de server om de client te informeren over de noodzaak om vooraf voorbereide pack-bestanden te laden naast de verzonden ingepakte objectgegevens.
  • Er werd verder gewerkt aan de overgang naar het SHA-256-hashalgoritme in plaats van SHA-1.

Bron: opennet.ru

Voeg een reactie