Нова Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° Git 2.28, ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π°Ρ˜ΡœΠΈ Π΄Π° Π½Π΅ сС користи ΠΈΠΌΠ΅Ρ‚ΠΎ β€žΠ³ΠΎΡΠΏΠΎΠ΄Π°Ρ€β€œ Π·Π° Π³Π»Π°Π²Π½ΠΈΡ‚Π΅ Π³Ρ€Π°Π½ΠΊΠΈ

Достапно ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° систСм Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° дистрибуирани ΠΈΠ·Π²ΠΎΡ€ΠΈ Π“ΠΈΡ‚ 2.28.0. Git Π΅ Π΅Π΄Π΅Π½ ΠΎΠ΄ Π½Π°Ρ˜ΠΏΠΎΠΏΡƒΠ»Π°Ρ€Π½ΠΈΡ‚Π΅, Π΄ΠΎΠ²Π΅Ρ€Π»ΠΈΠ²ΠΈ ΠΈ со високи пСрформанси систСми Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° Π²Π΅Ρ€Π·ΠΈΠΈ, кој ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° флСксибилни Π½Π΅Π»ΠΈΠ½Π΅Π°Ρ€Π½ΠΈ Ρ€Π°Π·Π²ΠΎΡ˜Π½ΠΈ Π°Π»Π°Ρ‚ΠΊΠΈ засновани Π½Π° Ρ€Π°Π·Π³Ρ€Π°Π½ΡƒΠ²Π°ΡšΠ΅ ΠΈ ΡΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅. Π—Π° Π΄Π° сС ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ‚Π΅Ρ‚ Π½Π° ΠΈΡΡ‚ΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° ΠΈ отпорност Π½Π° Ρ€Π΅Ρ‚Ρ€ΠΎΠ°ΠΊΡ‚ΠΈΠ²Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, ΠΈΠΌΠΏΠ»ΠΈΡ†ΠΈΡ‚Π½ΠΎ Ρ…Π°ΡˆΠΈΡ€Π°ΡšΠ΅ Π½Π° Ρ†Π΅Π»Π°Ρ‚Π° ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½Π° ΠΈΡΡ‚ΠΎΡ€ΠΈΡ˜Π° сС користи Π²ΠΎ сСкоС ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅; исто Ρ‚Π°ΠΊΠ° Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° сС сСртифицираат ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅Ρ‡Π½ΠΈ ΠΎΠ·Π½Π°ΠΊΠΈ ΠΈ обврски со Π΄ΠΈΠ³ΠΈΡ‚Π°Π»Π½ΠΈ потписи Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅.

По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΌ выпуском Π² Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ принято 317 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ участии 58 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… 13 Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ приняли участиС Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΈΠ½ΠΎΠ²Π°Ρ†ΠΈΠΈ:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° настройка init.defaultBranch, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ имя основной Π²Π΅Ρ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Настройка Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ Π΄Π°ΡŽΡ‚ покоя воспоминания ΠΎ рабствС, Π° слово Β«masterΒ» воспринимаСтся ΠΊΠ°ΠΊ ΠΎΡΠΊΠΎΡ€Π±ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°ΠΌΡ‘ΠΊ ΠΈΠ»ΠΈ Π½Π°Π²Π΅Π²Π°Π΅Ρ‚ Π΄ΡƒΡˆΠ΅Π²Π½Ρ‹Π΅ ΠΌΡƒΠΊΠΈ ΠΈ чувство нСискуплённой Π²ΠΈΠ½Ρ‹. GitHub, GitLab ΠΈ Bitbucket приняли Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ вмСсто слова Β«masterΒ» для основных Π²Π΅Ρ‚ΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ слово Β«mainΒ». Π’ Git, ΠΊΠ°ΠΊ ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅, ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Β«git initΒ» ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π²Π΅Ρ‚ΠΊΠ° Β«masterΒ», Π½ΠΎ это имя Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. НапримСр, для измСнСния ΠΈΠΌΠ΅Π½ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π½Π° Β«mainΒ» ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

    git config β€”global init.defaultBranch main

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, основанныС Π½Π° появлСнии Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ commit-graph, примСняСмом для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ доступа ΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°Ρ…, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π‘Π»ΡƒΠΌ Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈ, вСроятностной структуры, Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π΅ΠΉ Π»ΠΎΠΆΠ½ΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ элСмСнта, Π½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅ΠΉ пропуск ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ элСмСнта. Указанная структура позволяСт Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ поиск Π² истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ использовании ΠΊΠΎΠΌΠ°Π½Π΄ Β«git log β€” <path>Β» ΠΈΠ»ΠΈ Β«git blameΒ».
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Β«git statusΒ» обСспСчСн Π²Ρ‹Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ прогрСссС выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ частичного клонирования (sparse-checkout).
  • Для ΠΊΠΎΠΌΠ°Π½Π΄ сСмСйства Β«diffΒ» ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° новая настройка Β«diff.relativeΒ».
  • ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Ρ‡Π΅Ρ€Π΅Π· Β«git fsckΒ» Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ оцСниваСтся сортировка Π΄Π΅Ρ€Π΅Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Π²Ρ‹ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСотсортированныС элСмСнты.
  • Π£ΠΏΡ€ΠΎΡ‰Ρ‘Π½ интСрфСйс для рСдактирования ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ трассировки.
  • Π’ сцСнарии автодополнСния Π²Π²ΠΎΠ΄Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° дополнСния ΠΎΠΏΡ†ΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Β«git switchΒ».
  • Π’ Β«git diffΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Ρ€Π°Π·Π½Ρ‹Ρ… нотациях (Β«git diff A..B CΒ», Β«git diff A..B C…DΒ» ΠΈ Ρ‚.ΠΏ.).
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Β«git fast-export β€”anonymizeΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ задания собствСнного сопоставлСния элСмСнтов для Ρ‚ΠΎΠ½ΠΊΠΎΠΉ настройки Π²Ρ‹Π²ΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.
  • Π’ Β«git guiΒ» Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ Π΄Π΅Ρ€Π΅Π²ΡŒΡ ΠΈΠ· Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³Π°.
  • Π’ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π΅ Β«fetch/cloneΒ» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ информирования ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° сСрвСром ΠΎ нСобходимости Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… pack-Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΌ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.
  • Π Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈ Π½Π° ΠΏΡ€Π΅ΠΌΠΈΠ½ΠΎΡ‚ ΠΊΠΎΠ½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚Π°ΠΌ Π·Π° Ρ…Π΅ΡˆΠΈΡ€Π°ΡšΠ΅ SHA-256 намСсто SHA-1.

Π˜Π·Π²ΠΎΡ€: opennet.ru

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€