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

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

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

  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «git shortlog», ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΡƒΡŽ для отобраТСния сводок со статистикой ΠΈΠ· истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—group» для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΏΠΎ полям, Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌΡΡ Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅Ρ€ΠΎΠΌ. НапримСр, для ΠΏΠΎΠΊΠ°Π·Π° списка Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ числС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΎΠ², упомянутых Π² ΠΏΠΎΠ»Π΅ «Co-authored-by», ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ: git shortlog -ns —group=author —group=trailer:co-authored-by

    Π’Ρ‹Π²ΠΎΠ΄ shortlog ΠΌΠΎΠΆΠ½ΠΎ Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ спСцификаторов форматирования ΠΈ опция «—group» позволяСт сущСствСнно ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ созданиС слоТных ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠ² ΠΈ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ сортировки. НапримСр, для создания ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π° с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Ρ‚ΠΎΠΌ, сколько ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² для Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅Π»ΠΈΠ·Π° Π±Ρ‹Π»ΠΎ принято Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ мСсяцС, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ: git shortlog v2.38.0.. —date=’format:%Y-%m’ —group=’%cd’ -s 2 2022-08 47 2022-09 405 2022-10 194 2022-11 5 2022-12 РаньшС для выполнСния Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ Π±Ρ‹ ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ sort ΠΈ uniq: git log v2.38.0.. —date=’format:%Y-%m’ —format=’%cd’ | sort | uniq -c

  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° «cruft packs», ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ нСдостиТимых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ссылки (Π½Π΅ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π²Π΅Ρ‚ΠΊΠΈ ΠΈΠ»ΠΈ Ρ‚Π΅Π³ΠΈ). НСдостиТимыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ сборщиком мусора, Π½ΠΎ Π΄ΠΎ удалСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ врСмя ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ состояний Π³ΠΎΠ½ΠΊΠΈ. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ «cruft packs» позволяСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всС нСдостиТимыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² ΠΎΠ΄Π½ΠΎΠΌ pack-Ρ„Π°ΠΉΠ»Π΅, Π° Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΡ‚Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅, Ρ…Ρ€Π°Π½ΠΈΠΌΠΎΠΉ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ «.mtimes», Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°Π»ΠΈΡΡŒ с ΠΎΠ±Ρ‰ΠΈΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ измСнСния.

    ВрСмя нахоТдСния нСдостиТимых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄ фактичСским ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ опрСдСляСтся ΠΎΠΏΡ†ΠΈΠ΅ΠΉ «—prune=<date>». ΠŸΡ€ΠΈ этом нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ являСтся достаточно эффСктивным ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Ρ‹ΠΌ способом прСдотвращСния поврСТдСния рСпозитория ΠΈΠ·-Π·Π° состояния Π³ΠΎΠ½ΠΊΠΈ, ΠΎΠ½ Π½Π΅ являСтся Π½Π° 100% Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹ΠΌ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ восстановлСниС ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Ρ‘Π½Π½ΠΎΠ³ΠΎ рСпозитория Π² Π½ΠΎΠ²ΠΎΠΌ выпускС прСдоставлСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сохранСния ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², для Ρ‡Π΅Π³ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «git repack» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—expire-to», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π·Π°Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» для создания внСшнСй ΠΊΠΎΠΏΠΈΠΈ всСх удаляСмых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². НапримСр, для сохранСния Π² Ρ„Π°ΠΉΠ»Π΅ backup.git нСдостиТимых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ мСнялись послСдниС 5 ΠΌΠΈΠ½ΡƒΡ‚, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ: git repack —cruft —cruft-expiration=5.minutes.ago -d —expire-to=../backup.git

  • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π° (Π΄ΠΎ 70%) ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ «git grep —cached» ΠΏΡ€ΠΈ поискС Π² областях, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… примСняСтся частичноС ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (sparse-checkout) ΠΈ для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ частичныС индСксы (sparse index). Π Π°Π½Π΅Π΅ ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΎΠΏΡ†ΠΈΠΈ «—cached» Π²Π½Π°Ρ‡Π°Π»Π΅ осущСствлялся поиск Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ индСксС, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π² частичных, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ возникновСнию ΠΎΡ‰ΡƒΡ‚ΠΈΠΌΡ‹Ρ… Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ ΠΏΡ€ΠΈ поискС Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… рСпозиториях.
  • УскорСно Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° сСрвСрС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ связности Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΡ… ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ «git push». Π—Π° счёт ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ ΡƒΡ‡Ρ‘Ρ‚Ρƒ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Ρ… ссылок, Π² тСстовом Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ с 7 ΠΌΠ»Π½ ссылок ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 3% ΠΎΡ…Π²Π°Ρ‡Π΅Π½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ push внСсённыС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π² 4.5 Ρ€Π°Π·Π°.
  • Для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… цСлочислСнных ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ΄Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ «git apply» ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ. Π’ случаС Ссли Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ°Ρ‚Ρ‡Π° ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 1 Π“Π‘ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ошибка.
  • Для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… уязвимостСй внСсСны измСнСния для чистки лишнСй ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², выставляСмых ΠΏΡ€ΠΈ использовании модуля h2h3 с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ GIT_TRACE_CURL=1 ΠΈΠ»ΠΈ GIT_CURL_VERBOSE=1 вмСстС с HTTP/2.
  • ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ check out с Π²Π΅Ρ‚ΠΊΠΎΠΉ, которая являСтся символичСской ссылок Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, ΠΊΠΎΠΌΠ°Π½Π΄Π° «git symbolic-ref HEAD» Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ, Π° Π½Π΅ имя символичСской ссылки.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° @{-1} Π² ΠΎΠΏΡ†ΠΈΠΈ «—edit-description» («git branch —edit-description @{-1}») для рСдактирования описания ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° «git merge-tree —stdin», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ список ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· стандартный Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ.
  • На сСтСвых Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСмах ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ fsmonitor, ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ измСнСния Π² Π€Π‘.

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

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