Выпуск систСмы управлСния исходными тСкстами Git 2.35

ПослС Π΄Π²ΡƒΡ… мСсяцСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ выпуск распрСдСлСнной систСмы управлСния исходными тСкстами Git 2.35. Git являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых популярных, Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹Ρ… ΠΈ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… систСм управлСния вСрсиями, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ Π³ΠΈΠ±ΠΊΠΈΠ΅ срСдства Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π° ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠΈ ΠΈ слиянии Π²Π΅Ρ‚ΠΎΠΊ. Для обСспСчСния цСлостности истории ΠΈ устойчивости ΠΊ измСнСниям «Π·Π°Π΄Π½ΠΈΠΌ числом» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ нСявноС Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ всСй ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ истории Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅, Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ удостовСрСниС Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌΠΈ подписями Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π³ΠΎΠ² ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².

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

  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности ΠΏΠΎ использованию SSH-ΠΊΠ»ΡŽΡ‡Π΅ΠΉ для завСрСния Git-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписью. Для разграничСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ дСйствия Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° OpenSSH-Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² «valid-before» ΠΈ «valid-after», ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ с подписями послС Ρ€ΠΎΡ‚Π°Ρ†ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π”ΠΎ этого, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ подписСй старым ΠΈ Π½ΠΎΠ²Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ — Ссли ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ старый ΠΊΠ»ΡŽΡ‡, Ρ‚ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ сдСланныС с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ подписи, Π° Ссли ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ — Ρ‚ΠΎ сохранится Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания Π½ΠΎΠ²Ρ‹Ρ… подписСй старым ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, Π½Π° смСну ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΡˆΡ‘Π» Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠ»ΡŽΡ‡. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ valid-before ΠΈ valid-after ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ дСйствия ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π½Π° основС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ создания подписи.
  • Π’ настройкС merge.conflictStyle, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ оформлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°Ρ… ΠΏΡ€ΠΈ слиянии, появилась ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π΅ΠΆΠΈΠΌΠ° «zdiff3», ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‰Π΅Π³ΠΎ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ области ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° всС Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ строки, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎ позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠ³ΠΎ прСдставлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «git stash» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ «—staged», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΡΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ измСнСния, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Π² индСкс, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² ситуации, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡ‚Π»ΠΎΠΆΠΈΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ слоТных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π½Π°Ρ‡Π°Π»Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²ΠΎ, Π° с ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ врСмя. Π Π΅ΠΆΠΈΠΌ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «git commit», Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΡƒΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠΌΠ΅Ρ‰Ρ‘Π½Π½Ρ‹Π΅ Π² индСкс измСнСния, Π½ΠΎ вмСсто создания Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² «git stash —staged» Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ сохраняСтся Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ stash. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ измСнСния понадобятся ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ «git stash pop».
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «git log» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ спСцификатор Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° «—format=%(describe)», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ «git log» с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «git describe». ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для «git describe» ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ нСпосрСдствСнно Π²Π½ΡƒΡ‚Ρ€ΠΈ спСцификатора («—format=%(describe:match=<foo>,exclude=<bar>)»), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ сокращённыС Ρ‚Π΅Π³ΠΈ («—format=%(describe:tags=<bool>)») ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ число ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹Ρ… символов для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² («—format=%(describe:abbrev=<n>)»). НапримСр, для Π²Ρ‹Π²ΠΎΠ΄Π° 8 послСдних ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Ρ‚Π΅Π³ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π° Π² Ρ€Π΅Π»ΠΈΠ·Ρ‹, ΠΈ указания 8-ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ: $ git log -8 —format=’%(describe:exclude=*-rc*,abbrev=13)’ v2.34.1-646-gaf4e5f569bc89 v2.34.1-644-g0330edb239c24 v2.33.1-641-g15f002812f858 v2.34.1-643-g2b95d94b056ab v2.34.1-642-gb56bd95bbc8f7 v2.34.1-203-gffb9f2980902d v2.34.1-640-gdf3c41adeb212 v2.34.1-639-g36b65715a4132
  • Π’ настройкС user.signingKey Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ…ΡΡ Ρ‚ΠΈΠΏΠΎΠΌ «ssh-» ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ ΠΊ ΠΊΠ»ΡŽΡ‡Ρƒ. ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ прСфикса «key::», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, «key::ecdsa-sha2-nistp256» для ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ECDSA.
  • Π—Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ списка ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ «—histogram», Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ использовании ΠΎΠΏΡ†ΠΈΠΈ «—color-moved-ws», ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ подсвСчиваниСм ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π² Ρ†Π²Π΅Ρ‚Π½ΠΎΠΌ diff-Π΅.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ «git jump», примСняСмой для прСдоставлСния Vim ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°Ρ… Π½Π° ΠΈΡΠΊΠΎΠΌΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π² Ρ„Π°ΠΉΠ»Π΅ ΠΏΡ€ΠΈ Ρ€Π°Π·Π±ΠΎΡ€Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² слияния, просмотрС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ поиска, прСдоставлСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ суТСния ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² слияния. НапримСр, для ограничСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ «foo» ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ «git jump merge — foo», Π° для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΠ· ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° «Documentation» — «git jump merge — ‘:^Documentation'»
  • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ стандартизации примСнСния Ρ‚ΠΈΠΏΠ° «size_t» вмСсто «unsigned long» для Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ возмоТности примСнСния Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² «clean» ΠΈ «smudge» с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π±ΠΎΠ»Π΅Π΅ 4 Π“Π‘ Π½Π° всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ с модСлью Π΄Π°Π½Π½Ρ‹Ρ… LLP64, Ρ‚ΠΈΠΏ «unsigned long» Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ 4 Π±Π°ΠΉΡ‚Π°ΠΌΠΈ.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «git am» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—empty=(stop|drop|keep)», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΡ€ΠΈ Ρ€Π°Π·Π±ΠΎΡ€Π΅ ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ ΠΈΠ· ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ ящика Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ для пустых писСм, Π½Π΅ содСрТащих ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «stop» ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ всСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ примСнСния ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ, «drop» — пропустит пустой ΠΏΠ°Ρ‚Ρ‡, «keep» — создаст пустой ΠΊΠΎΠΌΠΌΠΈΡ‚.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «git reset», «git diff», «git blame», «git fetch», «git pull» ΠΈ «git ls-files» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° частичных индСксов (sparse index), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ мСсто Π² рСпозиториях, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ частичного клонирования (sparse-checkout).
  • ОбъявлСна ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π° «git sparse-checkout init», вмСсто ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ «git sparse-checkout set».
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ рСализация Π½ΠΎΠ²ΠΎΠ³ΠΎ бэкСнда «reftable» для хранСния ссылок, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π²Π΅Ρ‚ΠΊΠΈ ΠΈ Ρ‚Π΅Π³ΠΈ, Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. Новый бэкСнд ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π±Π»ΠΎΡ‡Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, примСняСмоС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ JGit ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ для хранСния ΠΎΡ‡Π΅Π½ΡŒ большого числа ссылок. БэкСнд ΠΏΠΎΠΊΠ° Π½Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ с систСмой ссылок (refs) ΠΈ Π½Π΅ Π³ΠΎΡ‚ΠΎΠ² для практичСского примСнСния.
  • ЦвСтовая ΠΏΠ°Π»ΠΈΡ‚Ρ€Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «git grep» ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ GNU grep.

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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ