ΠŸΡƒΡΠΊΠ°Π½Π΅ Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°Ρ‚Π° систСма Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° ΠΊΠΎΠ΄Π° Git 2.23

Π˜Π·ΠΏΡ€Π°Ρ‚Π΅Π½ΠΎ ΠΎΡ‚ освобоТдаванС Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° систСма Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊΠ° Git 2.23.0. Git Π΅ Π΅Π΄Π½Π° ΠΎΡ‚ Π½Π°ΠΉ-популярнитС, Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ ΠΈ високопроизводитСлни систСми Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° вСрсиитС, прСдоставяща гъвкави Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΈ инструмСнти Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° разклоняванС ΠΈ сливанС. Π—Π° Π΄Π° сС Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π° цСлостта Π½Π° историята ΠΈ устойчивостта Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ със Π·Π°Π΄Π½Π° Π΄Π°Ρ‚Π°, сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠΌΠΏΠ»ΠΈΡ†ΠΈΡ‚Π½ΠΎ Ρ…Π΅ΡˆΠΈΡ€Π°Π½Π΅ Π½Π° цялата ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π° история във всСки ΠΊΠΎΠΌΠΈΡ‚ ΠΈ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΅ възмоТно Π΄Π° сС сСртифицират ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Ρ‚Π°Π³ΠΎΠ²Π΅ ΠΈ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ с Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΈ подписи Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅.

Π’ сравнСниС с ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° вСрсия, Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π²ΠΊΠ»ΡŽΡ‡Π²Π° 505 ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, ΠΈΠ·Π³ΠΎΡ‚Π²Π΅Π½ΠΈ с участиСто Π½Π° 77 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ, ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ 26 са участвали Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π·Π° ΠΏΡŠΡ€Π²ΠΈ ΠΏΡŠΡ‚. ОсновСн ΠΈΠ½ΠΎΠ²Π°Ρ†ΠΈΠΈ:

  • ЕкспСримСнталнитС ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ "git switch" ΠΈ "git restore" сС Π²ΡŠΠ²Π΅ΠΆΠ΄Π°Ρ‚ Π·Π° отдСлянС Π½Π° свободно ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈΡ‚Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° "git checkout", ΠΊΠ°Ρ‚ΠΎ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ (ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ ΠΈ създаванС) ΠΈ Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² Ρ€Π°Π±ΠΎΡ‚Π½Π°Ρ‚Π° дирСктория ("git checkout $commit - $filename") ΠΈΠ»ΠΈ Π²Π΅Π΄Π½Π°Π³Π° Π² Π·ΠΎΠ½Π°Ρ‚Π° Π·Π° Π΅Ρ‚Π°ΠΏ (β€žβ€”stagingβ€œ, няма Π°Π½Π°Π»ΠΎΠ³ Π² β€žgit checkoutβ€œ). Π‘Ρ‚Ρ€ΡƒΠ²Π° си Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ, Ρ‡Π΅ Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ "git checkout", "git restore" ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π° нСпрослСдСнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ сС Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Ρ‚ ("--no-overlay" ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅).
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ опцията β€žgit merge –quitβ€œ, която, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° β€ž-abortβ€œ, спира процСса Π½Π° сливанС Π½Π° ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅, Π½ΠΎ оставя Ρ€Π°Π±ΠΎΡ‚Π½Π°Ρ‚Π° дирСктория нСдокосната. Π’Π°Π·ΠΈ опция ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΠΎΠ»Π΅Π·Π½Π°, Π°ΠΊΠΎ Π΅ Π·Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π½Π΅ някои ΠΎΡ‚ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅, Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Ρ€ΡŠΡ‡Π½ΠΎ сливанС, Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚.
  • ΠšΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ "git clone", "git fetch" ΠΈ "git push" Π²Π΅Ρ‡Π΅ ΠΎΡ‚Ρ‡ΠΈΡ‚Π°Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ Π² ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° (замСстници);
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΎΠΏΡ†ΠΈΠΈΡ‚Π΅ β€žgit blame β€”ignore-revβ€œ ΠΈ β€žβ€”ignore-revs-fileβ€œ Π²ΠΈ позволяват Π΄Π° пропускатС Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ правят Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΠΈ Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅);
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ опцията β€žgit cherry-pick β€”skipβ€œ Π·Π° пропусканС Π½Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π΅Π½ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ (Π·Π°ΠΏΠ°ΠΌΠ΅Ρ‚Π΅Π½ Π°Π½Π°Π»ΠΎΠ³ Π½Π° послСдоватСлността β€žgit reset && git cherry-pick β€”continueβ€œ);
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ настройката status.aheadBehind, която ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π° Ρ‚Ρ€Π°ΠΉΠ½ΠΎ опцията β€žgit status -[no-]ahead-behindβ€œ;
  • ΠžΡ‚ Ρ‚Π°Π·ΠΈ вСрсия, "git log" ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π²Π·Π΅ΠΌΠ° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅, Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈ ΠΎΡ‚ mailmap, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° Π½Π°Ρ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡ‚ΠΎ git shortlog Π²Π΅Ρ‡Π΅ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ;
  • ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡΡ‚Π° ΠΏΠΎ обновяванС Π½Π° СкспСримСнталния кСш Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ‚Π° Π½Π° Π°Π½Π³Π°ΠΆΠΈΡ€Π°Π½Π΅ (core.commitGraph), въвСдСна във 2.18, Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ускорСна. Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π½Π°ΠΏΡ€Π°Π²ΠΈ git for-each-ref ΠΏΠΎ-Π±ΡŠΡ€Π· ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° мноТСство шаблони ΠΈ Π½Π°ΠΌΠ°Π»ΠΈ броя Π½Π° извикванията Π½Π° auto-gc Π² β€žgit fetch β€”multipleβ€œ;
  • "git branch --list" сСга Π²ΠΈΠ½Π°Π³ΠΈ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΎΡ‚Π΄Π΅Π»Π΅Π½Π° HEAD Π² самото Π½Π°Ρ‡Π°Π»ΠΎ Π½Π° списъка, нСзависимо ΠΎΡ‚ Π»ΠΎΠΊΠ°Π»Π°.

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€