Git 2.27 taqsimlangan manba boshqaruv tizimining chiqarilishi

Mavjud taqsimlangan manbalarni boshqarish tizimini chiqarish git 2.27.0. 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 oldingi butun tarixning yashirin xeshlanishi qo'llaniladi, shuningdek, ishlab chiquvchilarning raqamli imzolari bilan individual teglar va majburiyatlarni tasdiqlash mumkin.

Oldingi versiya bilan taqqoslaganda, yangi versiya 537 ta ishlab chiquvchi ishtirokida tayyorlangan 71 ta o'zgartirishni o'z ichiga olgan, ulardan 19 tasi birinchi marta ishlab chiqishda ishtirok etgan. Asosiy yangiliklar:

  • Oldingi versiyada joriy qilingan standart faollashtirish qaytarildi ikkinchi versiya Mijoz masofadan Git serveriga ulanganda foydalaniladigan Git aloqa protokoli. Alohida ko'rib chiqishni talab qiladigan silliq masalalar aniqlanganligi sababli protokol sukut bo'yicha hali foydalanishga tayyor emas deb hisoblanadi.
  • Proksi-server orqali kirishda SSL ulanishini o'rnatish uchun bir qator imkoniyatlar qo'shildi.
  • "Toza" va "qora" transformatsiya filtrlaridan foydalanganda ko'rsatiladigan ma'lumotlar kengaytirildi. Masalan, ob'ekt endi ko'rsatiladi daraxtsimon, unda aylantiriladigan blob paydo bo'ladi.
  • Chalkashmaslik uchun "git describe" buyrug'i endi har doim kengaytirilgan chiqish rejimidan ("--long") foydalanadi, agar topshiriq bilan bog'liq almashtirilgan teg aniqlansa (ilgari topshiriqni tavsiflovchi imzolangan yoki izohli teg chiqarilar edi, hatto u bajarilgan bo'lsa ham. nomi o‘zgartirildi yoki “refs/tags/” ierarxiyasiga ko‘chirildi va “git show tag^0” buyrug‘i kutilganidek ishlamadi - “refs/tags/tag” topilmadi yoki hatto boshqa teg qaytarildi).
  • "git pull" ni bajarayotganda, agar pull.rebase konfiguratsiya o'zgaruvchisi aniq o'rnatilmasa va "--[no-]rebase" yoki "--ff-only" opsiyalari ishlatilmasa, endi ogohlantirish chiqariladi. Qayta tiklash operatsiyasini bajarish niyatida bo'lmaganlar uchun ogohlantirishni bostirish uchun o'zgaruvchini yolg'onga o'rnatish mumkin.
  • "git fetch" uchun umumiy bo'lgan "git pull" variantlari ko'rib chiqildi. Ilgari eslatilmagan shunga o'xshash variantlar hujjatlashtiriladi va etishmayotgan variantlar git fetch-ga uzatiladi.
  • "commit.gpgSign" sozlamasini bekor qilish uchun "git rebase" buyrug'iga "--no-gpg-sign" opsiyasi qo'shildi.
  • "Kimdan:" va "Mavzu:" sarlavhalarini ASCII bo'lmagan belgilarni o'zgartirmasdan ko'rsatish uchun "git format-patch" imkoniyati qo'shildi.
  • “-show-pulls” opsiyasi “git log”ga qo‘shildi, bu sizga nafaqat o‘zgartirishlar kiritilgan majburiyatlarni, balki ushbu o‘zgarishlarni alohida filialdan birlashtirish majburiyatini ham ko‘rish imkonini beradi.
  • Barcha komponentlar boʻylab interaktiv kiritishni birlashtirilgan boshqarish va kiritish soʻrovi koʻrsatilgandan keyin, lekin oʻqish jarayonidan oldin fflush() ga qoʻngʻiroq qoʻshildi.
  • "git rebase" barcha mahalliy majburiyatlarni avval "checkout" operatsiyasini bajarmasdan qayta qo'llash imkonini beradi, hatto ulardan ba'zilari ilgari yuqoriga uzatilgan bo'lsa ham.
  • “pack.useSparse” konfiguratsiya oʻzgaruvchisi sukut boʻyicha avval tajriba sifatida koʻrsatilgan optimallashtirishlarni yoqish uchun “true”ga oʻzgartirildi.
  • "git merge" ga "--autostash" opsiyasi qo'shildi.
  • Yaxshilangan "siyrak-checkout" interfeysi.
  • "git update-ref --stdin" ga bir nechta yangi harakatlar qo'shildi,
    havolani yangilash tranzaktsiyalarini to'g'ridan-to'g'ri boshqarish imkonini beradi, masalan, bir nechta omborlarda ikki bosqichli atomik havola yangilanishlarini amalga oshirish.

  • Markdown hujjatlari uchun userdiff shablonlari qo'shildi.
  • Bo'sh ishlaydigan daraxtga olib keladigan siyrak hisob shablonlaridagi barcha yo'llarni istisno qilish uchun cheklov olib tashlandi.
  • "git restore --stage --worktree" operatsiyasi endi xatolik o'rniga "HEAD" filialidagi tarkibdan foydalanishga o'rnatiladi.
  • SHA-2 o'rniga SHA-1 xeshlash algoritmiga o'tish bo'yicha ishlar davom ettirildi.
  • GnuPG bilan ishlash uchun kod qayta ishlangan.

Manba: opennet.ru

a Izoh qo'shish