Git 2.40 manbalarni boshqarish tizimining chiqarilishi

Uch oylik rivojlanishdan so'ng Git 2.40 tarqatilgan manbalarni boshqarish tizimi chiqarildi. Git eng mashhur, ishonchli va yuqori unumli versiyalarni boshqarish tizimlaridan biri bo'lib, tarmoqlanish va birlashtirishga asoslangan moslashuvchan chiziqli bo'lmagan rivojlanish vositalarini taqdim etadi. Tarixning yaxlitligini va retroaktiv o'zgarishlarga chidamliligini ta'minlash uchun har bir topshiriqda butun oldingi tarixning yashirin xeshlanishi qo'llaniladi, shuningdek, ishlab chiquvchilarning raqamli imzolari bilan individual teglar va majburiyatlarni tasdiqlash mumkin.

Oldingi versiya bilan taqqoslaganda, yangi versiya 472 ta ishlab chiquvchi ishtirokida tayyorlangan 88 ta o'zgartirishni o'z ichiga olgan, ulardan 30 tasi birinchi marta ishlab chiqishda ishtirok etgan. Asosiy innovatsiyalar:

  • Π’ скрипт git-jump Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Emacs, ΠΏΠΎΠΌΠΈΠΌΠΎ Ρ€Π°Π½Π΅Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Vim. Git-jump ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π² тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ позициях Π² Ρ„Π°ΠΉΠ»Π΅ для быстрой Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΊΠΎΠ΄Π° Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌ мСстС. НапримСр, git-jump ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ строками, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ€Π°Π·Π±ΠΎΡ€Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² слияния, ΠΎΡ†Π΅Π½ΠΊΠΈ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ ΠΈ выполнСния поиска (ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Β«git jump grep fooΒ» ΠΈ Π·Π°Ρ‚Π΅ΠΌ быстро ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ позициями, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… встрСчаСтся маска Β«fooΒ»).
  • Π’ Β«git cat-fileΒ» обСспСчСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° примСнСния ΠΎΠΏΡ†ΠΈΠΉ Β«-sΒ» ΠΈ Β«β€”batch-checkΒ» вмСстС с Β«β€”use-mailmapΒ» для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ опрСдСлСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°, осущСствлённой Π½Π° основС привязок ΠΊ email, Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„Π°ΠΉΠ»Π΅ mailmap (Ρ€Π°Π½Π΅Π΅ опция Β«β€”use-mailmapΒ» влияла Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Π²Ρ‹Π²ΠΎΠ΄ содСрТимого, Π½ΠΎ Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π»Π°, Ρ‡Ρ‚ΠΎ старыС ΠΈ Π·Π°ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹Π΅ ΠΏΠ°Ρ€Ρ‹ имя/email ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€).
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Β«git check-attrΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция Β«β€”sourceΒ» для Π²Ρ‹Π±ΠΎΡ€Π° Π΄Π΅Ρ€Π΅Π²Π° с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ Β«.gitattributesΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ использован для опрСдСлСния Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Π² условиях наличия Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² Β«.gitattributesΒ».
  • РСализация ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Β«git bisectΒ» пСрСписана Π½Π° языкС Π‘ΠΈ ΠΈ встроСна Π² основной исполняСмый Ρ„Π°ΠΉΠ» git (Ρ€Π°Π½Π΅Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±Ρ‹Π»Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² Ρ„ΠΎΡ€ΠΌΠ΅ Shell-скрипта).
  • Π£Π΄Π°Π»Π΅Π½Π° старая рСализация ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Β«git add β€”interactiveΒ», написанная Π½Π° Shell (Π² git 2.26 Π±Ρ‹Π» ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ встроСнный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π° Π‘ΠΈ, Π½ΠΎ старая рСализация Π½Π° Shell ΠΎΡΡ‚Π°Π²Π°Π»Π°ΡΡŒ доступной ΠΈ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ настройкой add.interactive.useBuiltin).
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Β«git merge-treeΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция β€˜β€”merge-base’.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Β«git range-diffΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция Β«β€”abbrev=<num>Β».
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пСрСопрСдСлСния Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° списков для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ rebase Ρ‡Π΅Ρ€Π΅Π· выставлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ GIT_SEQUENCE_EDITOR Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Β«git varΒ» ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Β«git var GIT_EDITORΒ».
  • Π’ подсистСму ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Ρ… записСй Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ сроком дСйствия.
  • Π’ сцСнариях автодополнСния Π²Π²ΠΎΠ΄Π° для Bash Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π° рСгистра символов.

Manba: opennet.ru

a Izoh qo'shish