Нова вСрсия Π½Π° Git 2.28, която позволява Π΄Π° Π½Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠΌΠ΅Ρ‚ΠΎ "master" Π·Π° Π³Π»Π°Π²Π½ΠΈ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅

На Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ освобоТдаванС Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° систСма Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊΠ° Git 2.28.0. Git Π΅ Π΅Π΄Π½Π° ΠΎΡ‚ Π½Π°ΠΉ-популярнитС, Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ ΠΈ високопроизводитСлни систСми Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° вСрсиитС, прСдоставяща гъвкави Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΈ инструмСнти Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° разклоняванС ΠΈ сливанС. Π—Π° Π΄Π° сС осигури цСлостта Π½Π° историята ΠΈ устойчивостта Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ със Π·Π°Π΄Π½Π° Π΄Π°Ρ‚Π°, във всСки ΠΊΠΎΠΌΠΈΡ‚ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠΌΠΏΠ»ΠΈΡ†ΠΈΡ‚Π½ΠΎ Ρ…Π΅ΡˆΠΈΡ€Π°Π½Π΅ Π½Π° цялата ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π° история; ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΅ възмоТно Π΄Π° сС удостовСрят ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Ρ‚Π°Π³ΠΎΠ²Π΅ ΠΈ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ с Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΈ подписи Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅.

Π’ сравнСниС с ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° вСрсия, Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π²ΠΊΠ»ΡŽΡ‡Π²Π° 317 ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, ΠΈΠ·Π³ΠΎΡ‚Π²Π΅Π½ΠΈ с участиСто Π½Π° 58 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ, ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ 13 са участвали Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π·Π° ΠΏΡŠΡ€Π²ΠΈ ΠΏΡŠΡ‚. ОсновСн ΠΈΠ½ΠΎΠ²Π°Ρ†ΠΈΠΈ:

  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ настройката init.defaultBranch, която Π²ΠΈ позволява Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΎ ΠΈΠΌΠ΅ Π·Π° главния ΠΊΠ»ΠΎΠ½, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅. Π’Π°Π·ΠΈ настройка Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π·Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ, Ρ‡ΠΈΠΈΡ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ са прСслСдвани ΠΎΡ‚ спомСни Π·Π° робство ΠΈ Π΄ΡƒΠΌΠ°Ρ‚Π° β€žΠ³ΠΎΡΠΏΠΎΠ΄Π°Ρ€β€œ сС Π²ΡŠΠ·ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΊΠ°Ρ‚ΠΎ ΠΎΠ±ΠΈΠ΄Π΅Π½ Π½Π°ΠΌΠ΅ΠΊ ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π° Π΄ΡƒΡˆΠ΅Π²Π½Π° Π±ΠΎΠ»ΠΊΠ° ΠΈ чувство Π·Π° Π½Π΅ΠΈΠ·ΠΊΡƒΠΏΠ΅Π½Π° Π²ΠΈΠ½Π°. GitHub, GitLab ΠΈ Bitbucket Ρ€Π΅ΡˆΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΄ΡƒΠΌΠ°Ρ‚Π° β€žΠΎΡΠ½ΠΎΠ²Π΅Π½β€œ вмСсто Π΄ΡƒΠΌΠ°Ρ‚Π° β€žΠ³Π»Π°Π²Π΅Π½β€œ Π·Π° основнитС ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅. Π’ Git, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΏΡ€Π΅Π΄ΠΈ, ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° "git init" ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° Π΄Π° създава ΠΊΠ»ΠΎΠ½Π° "master" ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅, Π½ΠΎ Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ΅ Π²Π΅Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ΠΎ. НапримСр, Π·Π° Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° началния ΠΊΠ»ΠΎΠ½ Π½Π° "main", ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°:

    git config --global init.defaultBranch main

  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° производитСлността въз основа Π½Π° външния Π²ΠΈΠ΄ във файловия Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ‚Π° Π·Π° Π°Π½Π³Π°ΠΆΠΈΡ€Π°Π½Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π΄ΠΎ информация Π·Π° Π°Π½Π³Π°ΠΆΠΈΡ€Π°Π½Π΅, ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π‘Π»ΡƒΠΌ Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈ, вСроятностна структура, която позволява Ρ„Π°Π»ΡˆΠΈΠ²Π° идСнтификация Π½Π° липсващ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚, Π½ΠΎ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π° пропусканСто Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚. ΠŸΠΎΡΠΎΡ‡Π΅Π½Π°Ρ‚Π° структура Π²ΠΈ позволява Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° ускоритС Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅Ρ‚ΠΎ Π² историята Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ β€žgit log - " ΠΈΠ»ΠΈ "git blame".
  • ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žgit statusβ€œ прСдоставя информация Π·Π° Π½Π°ΠΏΡ€Π΅Π΄ΡŠΠΊΠ° Π½Π° опСрацията ΠΏΠΎ частично ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°Π½Π΅ (sparse-checkout).
  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π΅ Π½ΠΎΠ²Π° настройка "diff.relative" Π·Π° сСмСйството ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ "diff".
  • ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‡Ρ€Π΅Π· "git fsck", сортиранСто Π½Π° Π΄ΡŠΡ€Π²ΠΎΡ‚ΠΎ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅ Π²Π΅Ρ‡Π΅ сС оцСнява ΠΈ нСсортиранитС Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ сС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Ρ‚.
  • Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡŠΡ‚ Π·Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° чувствитСлна информация Π² ΠΈΠ·Ρ…ΠΎΠ΄Π° Π·Π° прослСдяванС Π΅ опростСн.
  • ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΎΠΏΡ†ΠΈΠΈ Π·Π° Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° "git switch" Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° към скрипта Π·Π° Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° въвСТданС.
  • β€žgit diffβ€œ Π²Π΅Ρ‡Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ (β€žgit diff A..BCβ€œ, β€žgit diff A..BC…Dβ€œ ΠΈ Ρ‚.Π½.).
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΡƒΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° пСрсонализирано ΡΡŠΠΏΠΎΡΡ‚Π°Π²ΡΠ½Π΅ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ към ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° "git fast-export --anonymize", Π·Π° Π΄Π° сС ΠΏΡ€Π΅Ρ†ΠΈΠ·ΠΈΡ€Π° ΠΈΠ·Ρ…ΠΎΠ΄Π°, Π·Π° Π΄Π° бъдС ΠΏΠΎ-лСсно Π΄Π° сС отстраняват Π³Ρ€Π΅ΡˆΠΊΠΈ.
  • β€žGit guiβ€œ Π²ΠΈ позволява Π΄Π° отварятС Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Π΄ΡŠΡ€Π²Π΅Ρ‚Π° ΠΎΡ‚ началния Π΄ΠΈΠ°Π»ΠΎΠ³.
  • ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΡŠΡ‚ β€žΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅/ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°Π½Π΅β€œ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° способността Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Π΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π·Π° нСобходимостта ΠΎΡ‚ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² допълнСниС към ΠΏΡ€Π΅Π΄Π°Π΄Π΅Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Π·Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ€Π°Π½ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ.
  • ΠŸΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΏΠΎ ΠΏΡ€Π΅Ρ…ΠΎΠ΄Π° към Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° Π·Π° Ρ…Π΅ΡˆΠΈΡ€Π°Π½Π΅ SHA-256 вмСсто SHA-1.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€