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