Git 2.23 taqsimlangan manba boshqaruv tizimining chiqarilishi

Tanishtirdi taqsimlangan manbalarni boshqarish tizimini chiqarish git 2.23.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 qarshilik ko'rsatishni ta'minlash uchun har bir topshiriqda oldingi butun tarixni yashirin xeshlash qo'llaniladi, shuningdek, ishlab chiquvchilarning raqamli imzolari bilan individual teglar va majburiyatlarni tasdiqlash mumkin.

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

  • Eksperimental "git switch" va "git restore" buyruqlari bo'sh bog'langan "git checkout" imkoniyatlarini ajratish uchun kiritilgan, masalan, filiallarni boshqarish (almashtirish va yaratish) va ishchi katalogdagi fayllarni tiklash ("git checkout $commit - $filename") yoki darhol sahnalash maydonida (“—sahnalash”, “git checkout”da o'xshashi yo'q). Shuni ta'kidlash kerakki, "git checkout" dan farqli o'laroq, "git restore" qayta tiklanayotgan kataloglardan kuzatilmagan fayllarni olib tashlaydi (sukut bo'yicha "--no-overlay").
  • “-abort” ga o‘xshab, filiallarni birlashtirish jarayonini to‘xtatuvchi, lekin ishchi katalogga tegmasdan qoladigan “git merge –quit” opsiyasi qo‘shildi. Agar qo'lda birlashtirish paytida kiritilgan ba'zi o'zgarishlar alohida majburiyat sifatida berilishi ma'qul bo'lsa, ushbu parametr foydali bo'lishi mumkin.
  • "git clone", "git fetch" va "git push" buyruqlari endi bog'langan omborlarda majburiyatlar mavjudligini hisobga oladi (muqobil);
  • Qo'shilgan “git blame —ignore-rev” va “—ignore-revs-file” opsiyalari kichik o‘zgarishlar kiritadigan majburiyatlarni o‘tkazib yuborishga imkon beradi (masalan, formatlash tuzatishlari);
  • Qarama-qarshi topshiriqni o‘tkazib yuborish uchun “git cherry-pick —skip” opsiyasi qo‘shildi (“git reset && git cherry-pick —davom etish” ketma-ketligining yodlangan analogi);
  • “git status -[no-]ahead-behind” opsiyasini doimiy ravishda tuzatuvchi status.aheadBehind sozlamasi qo‘shildi;
  • Ushbu nashrdan boshlab, "git log" sukut bo'yicha pochta xaritasi tomonidan kiritilgan o'zgarishlarni hisobga oladi, xuddi git shortlog'dagi kabi;
  • 2.18 da joriy qilingan topshiriqlar grafigining (core.commitGraph) eksperimental keshini yangilash jarayoni sezilarli darajada tezlashdi. Shuningdek, bir nechta shablonlardan foydalanganda git for-each-ref-ni tezroq qildi va “git fetch —multiple”da auto-gc ga qo‘ng‘iroqlar sonini kamaytirdi;
  • "git filiali --list" endi mahalliy tildan qat'i nazar, har doim ro'yxatning boshida ajratilgan HEADni ko'rsatadi.

Manba: opennet.ru

a Izoh qo'shish