ΠŸΡƒΡΠΊΠ°Π½Π΅ Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°Ρ‚Π° систСма Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° ΠΊΠΎΠ΄Π° Git 2.26

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

Π’ сравнСниС с ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° вСрсия, Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π²ΠΊΠ»ΡŽΡ‡Π²Π° 504 ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, ΠΈΠ·Π³ΠΎΡ‚Π²Π΅Π½ΠΈ с участиСто Π½Π° 64 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ, ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ 12 участват Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π·Π° ΠΏΡŠΡ€Π²ΠΈ ΠΏΡŠΡ‚. ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° ΠΈΠ½ΠΎΠ²Π°Ρ†ΠΈΠΈ:

  • По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ΠΎ Π²Ρ‚ΠΎΡ€Π° вСрсия ΠšΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Git, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ΠΎ сС ΡΠ²ΡŠΡ€Π·Π²Π° към Git ΡΡŠΡ€Π²ΡŠΡ€. Π’Ρ‚ΠΎΡ€Π°Ρ‚Π° вСрсия Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° сС ΠΎΡ‚Π»ΠΈΡ‡Π°Π²Π° с Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ прСдоставя Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ ΠΈ Ρ‚Π°Π³ΠΎΠ²Π΅ ΠΎΡ‚ страна Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°, Π²Ρ€ΡŠΡ‰Π°ΠΉΠΊΠΈ ΡΡŠΠΊΡ€Π°Ρ‚Π΅Π½ списък ΠΎΡ‚ Π²Ρ€ΡŠΠ·ΠΊΠΈ към ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. ΠŸΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° всяка ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° изтСглянС Π²ΠΈΠ½Π°Π³ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°ΡˆΠ΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° пълния списък с ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‚ΠΊΠΈ Π² цялото Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Π΄ΠΎΡ€ΠΈ ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΡˆΠ΅ само Π΅Π΄ΠΈΠ½ ΠΊΠ»ΠΎΠ½ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ²Π°ΡˆΠ΅ Π΄Π°Π»ΠΈ тяхното ΠΊΠΎΠΏΠΈΠ΅ Π½Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»Π½ΠΎ. Π”Ρ€ΡƒΠ³Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡ‚Π΅Π»Π½Π° иновация Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° добавянС Π½Π° Π½ΠΎΠ²ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ към ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π½ΠΎΠ²Π° функционалност станС Π΄ΠΎΡΡ‚ΡŠΠΏΠ½Π° Π² инструмСнтариума. ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΡΡ‚ ΠΊΠΎΠ΄ остава ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ със стария ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΊΠ°ΠΊΡ‚ΠΎ с Π½ΠΎΠ²ΠΈ, Ρ‚Π°ΠΊΠ° ΠΈ със стари ΡΡŠΡ€Π²ΡŠΡ€ΠΈ, ΠΊΠ°Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ сС Π²Ρ€ΡŠΡ‰Π° към ΠΏΡŠΡ€Π²Π°Ρ‚Π° вСрсия, Π°ΠΊΠΎ ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Π½Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Π²Ρ‚ΠΎΡ€Π°Ρ‚Π°.
  • ΠžΠΏΡ†ΠΈΡΡ‚Π° β€ž-show-scopeβ€œ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° към ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žgit configβ€œ, ΠΊΠΎΠ΅Ρ‚ΠΎ улСснява ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° мястото, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ са ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ настройки. Git Π²ΠΈ позволява Π΄Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅ настройки Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ мСста: Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ (.git/info/config), Π² потрСбитСлската дирСктория (~/.gitconfig), Π² конфигурационния Ρ„Π°ΠΉΠ» Π·Π° цялата систСма (/etc/gitconfig) ΠΈ Ρ‡Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠΏΡ†ΠΈΠΈ Π·Π° линия ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° срСдата. ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚Π΅ β€œgit config” Π΅ доста Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ къдС Ρ‚ΠΎΡ‡Π½ΠΎ Π΅ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π° ΠΆΠ΅Π»Π°Π½Π°Ρ‚Π° настройка. Π—Π° Π΄Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚Π΅ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, бСшС Π½Π°Π»ΠΈΡ‡Π½Π° опцията β€ž--show-originβ€œ, Π½ΠΎ тя ΠΏΠΎΠΊΠ°Π·Π²Π° само ΠΏΡŠΡ‚Ρ Π΄ΠΎ Ρ„Π°ΠΉΠ»Π°, Π² ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π° настройката, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π°ΠΊΠΎ Π²ΡŠΠ·Π½Π°ΠΌΠ΅Ρ€ΡΠ²Π°Ρ‚Π΅ Π΄Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Ρ‚Π΅ Ρ„Π°ΠΉΠ»Π°, Π½ΠΎ Π½Π΅ ΠΏΠΎΠΌΠ°Π³Π°, Π°ΠΊΠΎ трябва Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ стойността Ρ‡Ρ€Π΅Π· β€žgit configβ€œ, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΎΠΏΡ†ΠΈΠΈ β€ž--systemβ€œ, β€ž--globalβ€œ ΠΈΠ»ΠΈ β€ž-localβ€œ. Новата опция "--show-scope" ΠΏΠΎΠΊΠ°Π·Π²Π° контСкста Π½Π° дСфиницията Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π°Π΅Π΄Π½ΠΎ с -show-origin:

    $ git --list --show-scope --show-origin
    Π³Π»ΠΎΠ±Π°Π»Π΅Π½ Ρ„Π°ΠΉΠ»:/home/user/.gitconfig diff.interhunkcontext=1
    Π³Π»ΠΎΠ±Π°Π»Π΅Π½ Ρ„Π°ΠΉΠ»:/home/user/.gitconfig push.default=current
    […] local file:.git/config branch.master.remote=origin
    Π»ΠΎΠΊΠ°Π»Π΅Π½ Ρ„Π°ΠΉΠ»:.git/config branch.master.merge=refs/heads/master

    $ git config --show-scope --get-regexp 'diff.*'
    global diff.statgraphwidth 35
    Π»ΠΎΠΊΠ°Π»Π΅Π½ Ρ€Π°Π·Π».colormoved ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½

    $ git config --global --unset diff.statgraphwidth

  • Π’ настройкитС Π·Π° ΠΎΠ±Π²ΡŠΡ€Π·Π²Π°Π½Π΅ Π°ΠΊΡ€Π΅Π΄ΠΈΡ‚ΠΈΠ²Π½ΠΈ писма Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° маски Π² URL адрСситС. Всички HTTP настройки ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π² Git ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ ΠΊΠ°ΠΊΡ‚ΠΎ Π·Π° всички Π²Ρ€ΡŠΠ·ΠΊΠΈ (http.extraHeader, credential.helper), Ρ‚Π°ΠΊΠ° ΠΈ Π·Π° Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° URL Π²Ρ€ΡŠΠ·ΠΊΠΈ (credential.https://example.com.helper, credential.https: //example. com.helper). ДосСга замСстващи символи ΠΊΠ°Ρ‚ΠΎ *.example.com бяха Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈ само Π·Π° HTTP настройки, Π½ΠΎ Π½Π΅ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ…Π° Π·Π° ΠΎΠ±Π²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ. Π’ Git 2.26 Ρ‚Π΅Π·ΠΈ Ρ€Π°Π·Π»ΠΈΠΊΠΈ са Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π°Π½ΠΈ ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π° Π΄Π° ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ потрСбитСлско ΠΈΠΌΠ΅ към всички ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ, сСга ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° посочитС:

    [ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ "https://*.example.com"]

    потрСбитСлско ΠΈΠΌΠ΅ = ttaylorr

  • Π Π°Π·ΡˆΠΈΡ€ΡΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° СкспСримСнталната ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° частично ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°Π½Π΅ (частични ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅) ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΡ‚Π΅ само част ΠΎΡ‚ Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΈ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ с нСпълно ΠΊΠΎΠΏΠΈΠ΅ Π½Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ. Новата вСрсия добавя Π½ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° "git sparse-checkout add", която Π²ΠΈ позволява Π΄Π° добавятС ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, Π·Π° Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ‚Π΅ опСрацията "checkout" само към част ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ Π΄ΡŠΡ€Π²ΠΎ, вмСсто Π΄Π° изброяватС всички Ρ‚Π°ΠΊΠΈΠ²Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ навСднъТ Ρ‡Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° "git sparse-checkout set" (ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° добавятС Π΅Π΄Π½Π° ΠΏΠΎ Π΅Π΄Π½Π° Π΅Π΄Π½Π° дирСктория, Π±Π΅Π· Π΄Π° посочватС ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ цСлия списък всСки ΠΏΡŠΡ‚).
    НапримСр, Π·Π° Π΄Π° ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°Ρ‚Π΅ git/git Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π±Π΅Π· Π°Π½Π³Π°ΠΆΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠ΅Ρ‚Π½Π°, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Ρ‚Π° само Π΄ΠΎ Π³Π»Π°Π²Π½Π°Ρ‚Π° дирСктория Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ ΠΊΠΎΠΏΠΈΠ΅ ΠΈ ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π·Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈΡ‚Π΅ "t" ΠΈ "ДокумСнтация", ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° посочитС:

    $ git clone --filter=blob:none --sparse [ΠΈΠΌΠ΅ΠΉΠ» Π·Π°Ρ‰ΠΈΡ‚Π΅Π½]:git/git.git

    $ cd git
    $ git sparse-checkout init --cone

    $ git sparse-checkout add t
    ....
    $ git sparse-checkout add ДокумСнтация
    ....
    $ git sparse-списък Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°
    докумСнтация
    t

  • ЕфСктивността Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žgit grepβ€œ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π·Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ ΠΊΠ°ΠΊΡ‚ΠΎ Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ Π½Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ, Ρ‚Π°ΠΊΠ° ΠΈ Π² историчСски Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ, Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π°. Π—Π° Π΄Π° сС ускори Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅Ρ‚ΠΎ, бСшС възмоТно Π΄Π° сС сканира ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ Π΄ΡŠΡ€Π²ΠΎ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° мноТСство нишки (β€žgit grep –threadsβ€œ), Π½ΠΎ Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅Ρ‚ΠΎ Π² историчСски Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ бСшС Сднонишково. Π‘Π΅Π³Π° Ρ‚ΠΎΠ²Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π΅ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ΠΎ Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ ΠΎΡ‚ ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ броят Π½Π° Π½ΠΈΡˆΠΊΠΈΡ‚Π΅ Π΅ Ρ€Π°Π²Π΅Π½ Π½Π° броя Π½Π° процСсорнитС ядра, ΠΊΠΎΠ΅Ρ‚ΠΎ Π² ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ случаи Π²Π΅Ρ‡Π΅ Π½Π΅ изисква ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° опцията β€ž-threadsβ€œ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π΄ΠΎΠ²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° въвСТданС Π½Π° ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΏΡŠΡ‚ΠΈΡ‰Π°, Π²Ρ€ΡŠΠ·ΠΊΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žgit worktreeβ€œ, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ с няколко Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ копия Π½Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ярки Ρ†Π²Π΅Ρ‚ΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠΌΠ°Ρ‚ ANSI Π΅ΠΊΡ€Π°Π½ΠΈΡ€Π°Ρ‰ΠΈ послСдоватСлности. НапримСр, Π² настройкитС Π·Π° Ρ†Π²Π΅Ρ‚ΠΎΠ²Π΅ Π·Π° ΠΏΠΎΠ΄Ρ‡Π΅Ρ€Ρ‚Π°Π²Π°Π½Π΅ β€žgit config –colorβ€œ ΠΈΠ»ΠΈ β€žgit diff –color-movedβ€œ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° посочитС β€ž%C(brightblue)β€œ Ρ‡Ρ€Π΅Π· опцията β€ž--formatβ€œ Π·Π° ярко синьо.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° вСрсия Π½Π° скрипта fsmonitor-ΠΏΠ°Π·Π°Ρ‡, осигуряваща интСграция с ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Facebook ΠΏΠ°Π·Π°Ρ‡ Π·Π° ускоряванС Π½Π° прослСдяванСто Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ във Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ ΠΈ появата Π½Π° Π½ΠΎΠ²ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. Π‘Π»Π΅Π΄ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ сС изисква git смСнСтС ΠΊΡƒΠΊΠ° Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π° ускоряванС Π½Π° частични ΠΊΠ»ΠΎΠ½ΠΈΠ½Π³ΠΈ ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° растСрни изобраТСния
    (машина Π·Π° растСрни изобраТСния), Π·Π° Π΄Π° сС ΠΈΠ·Π±Π΅Π³Π½Π΅ пълно Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π° всички ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ΠΏΡ€ΠΈ Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ·Ρ…ΠΎΠ΄Π°. Π’Π΅Ρ‡Π΅ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π·Π° ΠΏΠ΅Ρ‚Π½Π° (β€”filter=blob:none ΠΈ β€”filter=blob:limit=n) ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° частично ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°Π½Π΅
    Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ. GitHub обяви ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΠΈ с Ρ‚Π΅Π·ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ СкспСримСнтална ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° частично ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°Π½Π΅.

  • ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žgit rebaseβ€œ Π΅ прСмСстСна Π² Π΄Ρ€ΡƒΠ³ Π±Π΅ΠΊΠ΅Π½Π΄, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° β€žΡΠ»ΠΈΠ²Π°Π½Π΅β€œ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΏΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° Π·Π° β€žrebase -iβ€œ) вмСсто β€žpatch+applyβ€œ. Π‘Π΅ΠΊΠ΅Π½Π΄ΠΎΠ²Π΅Ρ‚Π΅ сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π°Ρ‚ ΠΏΠΎ някои ΠΌΠ°Π»ΠΊΠΈ Π½Π°Ρ‡ΠΈΠ½ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ слСд ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°Π½Π΅ Π½Π° опСрация слСд Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ (git rebase --continue), новият Π±Π΅ΠΊΠ΅Π½Π΄ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π·Π° Π°Π½Π³Π°ΠΆΠΈΡ€Π°Π½Π΅, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ старият просто ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° старото ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅. Π—Π° Π΄Π° сС Π²ΡŠΡ€Π½Π΅Ρ‚Π΅ към старото ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ опцията β€ž--applyβ€œ ΠΈΠ»ΠΈ Π΄Π° Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° β€žrebase.backendβ€œ Π½Π° β€žapplyβ€œ.
  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ Π·Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π·Π° удостовСряванС, посочСни Ρ‡Ρ€Π΅Π· .netrc, Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ Π΄ΠΎ Ρ„ΠΎΡ€ΠΌΠ°, подходяща Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ извън кутията.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ настройката gpg.minTrustLevel Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎΡ‚ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ΅ Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Ρ†ΠΈΡ„Ρ€ΠΎΠ² подпис.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ опция β€ž--pathspec-from-fileβ€œ към β€žgit rmβ€œ ΠΈ β€žgit stashβ€œ.
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€ΡΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° тСстовитС ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈ Π² ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π·Π° ΠΏΡ€Π΅Ρ…ΠΎΠ΄Π° към Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° Π·Π° Ρ…Π΅ΡˆΠΈΡ€Π°Π½Π΅ SHA-2 вмСсто SHA-1.

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

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