lancement d'un systÚme de gestion décentralisé des textes sources . Git est l'un des systÚmes de gestion de version les plus populaires, fiables et performants, offrant des outils flexibles pour le développement non linéaire, basés sur le branchement et la fusion de branches. Pour garantir l'intégrité de l'historique et la résistance aux modifications rétroactives, un hachage implicite de toute l'histoire précédente est utilisé dans chaque commit ; la vérification par des signatures numériques des développeurs est également possible pour certains tags et commits.
Comparé à la version précédente, la nouvelle version comprend 505 modifications, préparées avec la participation de 77 développeurs, dont 26 ont participé au développement pour la premiÚre fois. Principales :
- Des commandes expĂ©rimentales «git switch» et «git restore» ont Ă©tĂ© introduites, visant Ă sĂ©parer les capacitĂ©s peu liĂ©es de «git checkout», telles que la manipulation de branches (changement et crĂ©ation) et la restauration de fichiers dans le rĂ©pertoire de travail («git checkout $commit â $filename») ou directement dans la zone de staging («âstaging», qui n'a pas d'Ă©quivalent dans «git checkout»). Il convient de noter qu'en revanche à «git checkout», «git restore» supprime les fichiers non suivis des rĂ©pertoires restaurĂ©s («âno-overlay» par dĂ©faut).
- Une option «git merge âquit» a Ă©tĂ© ajoutĂ©e, qui arrĂȘte le processus de fusion de branches, similaire à «âabort», mais laisse le rĂ©pertoire de travail intact. Cette option peut ĂȘtre utile si certaines des modifications apportĂ©es lors d'une fusion manuelle sont prĂ©fĂ©rables sous la forme d'un commit sĂ©parĂ©.
- Les commandes «git clone», «git fetch» et «git push» tiennent désormais compte des commits dans les dépÎts associés ();
- options «git blame âignore-rev» et «âignore-revs-file», permettant d'ignorer les commits contenant des modifications mineures (par exemple, les corrections de formatage);
- Une option «git cherry-pick âskip» a Ă©tĂ© ajoutĂ©e pour ignorer un commit en conflit (un Ă©quivalent mĂ©morisĂ© de la sĂ©quence «git reset && git cherry-pick âcontinue»);
- Un rĂ©glage status.aheadBehind a Ă©tĂ© ajoutĂ©, fixant de maniĂšre permanente l'option «git status â[no-]ahead-behind»;
- Ă partir de cette version, «git log» prend en compte par dĂ©faut les modifications apportĂ©es par mailmap, de la mĂȘme maniĂšre que cela se produit dĂ©jĂ dans git shortlog;
- L'opĂ©ration de mise Ă jour du cache expĂ©rimental du graphe des commits (core.commitGraph) dans sa version 2.18 a Ă©tĂ© considĂ©rablement accĂ©lĂ©rĂ©e. De plus, git for-each-ref est Ă©galement optimisĂ© lors de l'utilisation de plusieurs modĂšles, et le nombre d'appels Ă auto-gc dans « git fetch âmultiple » a Ă©tĂ© rĂ©duit.
- La commande « git branch âlist » affiche dĂ©sormais toujours le HEAD dĂ©tachĂ© en haut de la liste, quelle que soit la locale.
Source : opennet.ru
