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

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

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

  • ΠžΡ‚ΠΌΠ΅Π½Π΅Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ выпускС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²Ρ‚ΠΎΡ€ΠΎΠΉ вСрсии ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Git, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΊ Git-сСрвСру. ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΏΡ€ΠΈΠ·Π½Π°Π½ ΠΏΠΎΠΊΠ° Π½Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌ ΠΊ использованию ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΠ·-Π·Π° выявлСния ΡΠΊΠΎΠ»ΡŒΠ·ΠΊΠΈΡ… ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ², Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ рассмотрСния.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½Π°Π±ΠΎΡ€ ΠΎΠΏΡ†ΠΈΠΉ для настройки SSL-соСдинСния ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· прокси.
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Π° информация, выдаваСмая ΠΏΡ€ΠΈ использовании ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰ΠΈΡ… Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² «clean» ΠΈ «smudge». НапримСр, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ показываСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ tree-ish, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ появляСтся ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌΡ‹ΠΉ Π±Π»ΠΎΠ±.
  • Для избСТания ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρ‹ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ «git describe» Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ всСгда примСняСтся Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Π²Ρ‹Π²ΠΎΠ΄Π° («—long»), Ссли выявлСн связанный с ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ Π·Π°ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹ΠΉ Ρ‚Π΅Π³ (Ρ€Π°Π½ΡŒΡˆΠ΅, подписанный ΠΈΠ»ΠΈ Π°Π½Π½ΠΎΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ‚Π΅Π³, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, выводился Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Ρ‘Π½ Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ «refs/tags/», ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° «git show Ρ‚Π΅Π³^0» Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° ΠΊΠ°ΠΊ оТидалось — «refs/tags/Ρ‚Π΅Π³» Π½Π΅ находился ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ выдавался ΡƒΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚Π΅Π³).
  • ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ «git pull» Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ выдаётся ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Ссли явно Π½Π΅ Π·Π°Π΄Π°Π½Π° конфигурационная пСрСмСнная pull.rebase ΠΈ Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΈ «—[no-]rebase» ΠΈΠ»ΠΈ «—ff-only». Для подавлСния прСдупрСТдСния Ρ‚Π΅ΠΌΠΈ, ΠΊΡ‚ΠΎ Π½Π΅ собираСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ rebase, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «false».
  • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° рСвизия ΠΎΠΏΡ†ΠΈΠΉ «git pull», ΠΎΠ±Ρ‰ΠΈΡ… с «git fetch». Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Ρ€Π°Π½Π΅Π΅ Π½Π΅ упомянутыС ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ ΠΈ обСспСчСна ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π² «git fetch» ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… ΠΎΠΏΡ†ΠΈΠΉ.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «git rebase» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—no-gpg-sign» для пСрСопрСдСлСния настройки «commit.gpgSign».
  • Π’ «git format-patch» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ отобраТСния Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² «From:» ΠΈ «Subject:» Π² Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅, Π±Π΅Π· прСобразования символов, ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ ASCII.
  • Π’ «git log» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—show-pulls», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ‹Π»ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ измСнСния, Π½ΠΎ ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ для слияния этих ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ.
  • Π£Π½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Π²ΠΎ всСх ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π²Ρ‹Π·ΠΎΠ² fflush() послС ΠΏΠΎΠΊΠ°Π·Π° ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ Π²Π²ΠΎΠ΄Π°, Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ чтСния.
  • Π’ «git rebase» Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ «checkout» ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, Π΄Π°ΠΆΠ΅ Ссли Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ… Ρ€Π°Π½Π΅Π΅ Π±Ρ‹Π»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ Π² upstream.
  • Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ‘pack.useSparse’ Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π° ‘true’ для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ, Ρ€Π°Π½Π΅Π΅ прСподносимых ΠΊΠ°ΠΊ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅.
  • Π’ «git merge» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—autostash».
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ интСрфСйс «sparse-checkout».
  • Π’ «git update-ref —stdin» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ нСсколько Π½ΠΎΠ²Ρ‹Ρ… дСйствий,
    ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ обновлСния ссылок, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ двухэтапного Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΠ³ΠΎ обновлСния ссылок Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… рСпозиториях.

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ userdiff для Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Markdown.
  • Π£Π±Ρ€Π°Π½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ всСх ΠΏΡƒΡ‚Π΅ΠΉ Π² ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ… sparse-checkout, приводящих ΠΊ пустому Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ Π΄Π΅Ρ€Π΅Π²Ρƒ.
  • ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ «git restore —staged —worktree» Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ содСрТимоС ΠΈΠ· Π²Π΅Ρ‚ΠΊΠΈ «HEAD», вмСсто Π²Ρ‹Π²ΠΎΠ΄Π° ошибки.
  • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρƒ Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ SHA-2 вмСсто SHA-1.
  • ΠŸΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΊΠΎΠ΄ для взаимодСйствия с GnuPG.

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