ИзданиС Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°Ρ‚Π° систСма Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·Ρ…ΠΎΠ΄Π½ΠΈ тСкстовС Git 2.22

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

Π’ сравнСниС с ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° вСрсия, Π² Π½ΠΎΠ²Π°Ρ‚Π° вСрсия са внСсСни 745 ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π΅Π½ΠΈ с участиСто Π½Π° 74 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ, ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ 18 участват Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π·Π° ΠΏΡŠΡ€Π²ΠΈ ΠΏΡŠΡ‚. Основни нововъвСдСния:

  • НаличСн ΠΎΡ‚ вСрсия 1.18, новият Ρ€Π΅ΠΆΠΈΠΌ Π½Π° прСнасянС Π½Π° Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΊΠΎΠΌΠΈΡ‚ΠΈ Β«git rebase β€”rebase-mergesΒ» Π·Π°ΠΌΠ΅Π½ΠΈ старата опция Β«β€”preserve-mergesΒ», която сСга Π΅ ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π° ΠΊΠ°Ρ‚ΠΎ остаряла. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡΡ‚Π° Β«git rebaseΒ» сС ΠΏΡ€ΠΈΠ»Π°Π³Π° Π·Π° замяна Π½Π° сСрия ΠΎΡ‚ ΠΊΠΎΠΌΠΈΡ‚ΠΈ с Π½ΠΎΠ² основСн ΠΊΠΎΠΌΠΈΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π° Π΄Π° сС прСмСсти ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΊΠ»ΠΎΠ½, Π² ΠΊΠΎΠΉΡ‚ΠΎ сС Ρ€Π°Π·Π²ΠΈΠ²Π° Π½ΠΎΠ²Π° функция, Π² Π°ΠΊΡ‚ΡƒΠ°Π»Π½ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° основния ΠΊΠ»ΠΎΠ½, Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‰ ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΠΈ, Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ слСд ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ:

    o β€” o β€” o (my-feature)

    /

    o β€” o β€” o β€” o β€” o (master)

    o β€” o β€” o (my-feature)

    /

    o β€” o β€” o β€” o β€” o (master)

    Π—Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° структурата Π½Π° ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π² прСносимия ΠΊΠ»ΠΎΠ½ ΠΏΡ€Π΅Π΄ΠΈ сС Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π»Π° опцията Β«β€”preserve-mergesΒ», която ΠΏΡ€ΠΈ стартиранС Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ (git rebase -i β€”preserve-merges) позволявашС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° историята Π½Π° ΠΊΠΎΠΌΠΈΡ‚ΠΈΡ‚Π΅, Π½ΠΎ Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°ΡˆΠ΅ пълно Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° структурата Π½Π° рСпозитория. Новият Ρ€Π΅ΠΆΠΈΠΌ Β«β€”rebase-mergesΒ» позволява Π΄Π° сС Π·Π°ΠΏΠ°Π·ΠΈ структурата Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² прСносимия ΠΊΠ»ΠΎΠ½, прСдоставяйки пълСн Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅, ΠΏΡ€Π΅Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΈΡ‚ΠΈ.

    НапримСр, Β«β€”rebase-mergesΒ» позволява прСнасянС Π½Π° ΠΊΠΎΠΌΠΈΡ‚ΠΈ ΠΎΡ‚ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΊΠ»ΠΎΠ½ към ΠΏΠΎ-Π½ΠΎΠ² основСн ΠΊΠ»ΠΎΠ½, Π·Π°ΠΏΠ°Π·Π²Π°ΠΉΠΊΠΈ структурата Π½Π° ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π² прСносимия ΠΊΠ»ΠΎΠ½, ΠΈ внасянС Π½Π° някои ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Π±Π΅Π»Π΅ΠΆΠΊΠΈΡ‚Π΅ към ΠΊΠΎΠΌΠΈΡ‚ΠΈΡ‚Π΅ Π½Π° място.

  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° създаванС Π½Π° Π½ΠΎΠ² ΠΊΠ»ΠΎΠ½ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π° ΠΎΡ‚ опрСдСлянСто Π½Π° Π±Π°Π·Π°Ρ‚Π° Π·Π° сливанС Π½Π° Π΄Π²Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΊΠ»ΠΎΠ½Π° (merge base, ΠΏΡ€ΠΈΠ²ΡŠΡ€Π·Π°Π½ΠΎΡΡ‚ към общия ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½ΠΈΠΊ) Ρ‡Ρ€Π΅Π· конструкции Β«git branch new A…BΒ» ΠΈ Β«git checkout -b new A…BΒ», Π² ΠΊΠΎΠΈΡ‚ΠΎ Β«A…BΒ» ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π° опрСдСлянС Π½Π° Π±Π°Π·Π°Ρ‚Π° Π·Π° сливанС ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π²Π°Ρ‚Π° посочСни ΠΊΠΎΠΌΠΈΡ‚Π°, ΠΏΠΎ аналогия с Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Β«git checkout A…BΒ» прСмСства HEAD Π½Π° основния ΠΊΠΎΠΌΠΈΡ‚ ΠΈ Β«diff A…BΒ» ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΈΡ‚ Β«BΒ» ΠΈ общия ΠΌΡƒ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½ΠΈΠΊ с ΠΊΠΎΠΌΠΈΡ‚ Β«AΒ».

    НапримСр, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»Π½Π° ΠΊΠ»ΠΎΠ½ΠΊΠ° my-feature, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π°Ρ‚Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ ΠΊΠ»ΠΎΠ½, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ ΡΡŠΡ‰ΠΎΡ‚ΠΎ място Π² master-ΠΊΠ»ΠΎΠ½ΠΊΠ°Ρ‚Π°, ΠΎΡ‚ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Π΅ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π° ΠΊΠ»ΠΎΠ½ΠΊΠ°Ρ‚Π° my-feature. ΠŸΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° Π±Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ€ΡŠΡ‡Π½ΠΎ Π΄Π° сС ΠΏΡ€ΠΎΡƒΡ‡ΠΈ ΠΆΡƒΡ€Π½Π°Π»ΡŠΡ‚ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ създавашС нСудобство ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½Π° голяма история Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ Π΄Π° сС изпълни β€žgit merge-base master my-featureβ€œ Π·Π° изчисляванС Π½Π° Ρ…Π΅ΡˆΠ° Π½Π° Π±Π°Π·Π°Ρ‚Π° Π·Π° сливанС ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΎΠ½ΠΊΠΈΡ‚Π΅ master ΠΈ my-feature ΠΈ Π΄Π° сС създадС Π½ΠΎΠ²Π° ΠΊΠ»ΠΎΠ½ΠΊΠ° относно общия ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½ΠΈΠΊ β€žgit branch my-other-feature Ρ…Π΅Ρˆβ€œ. Π’ Git 2.22, Π·Π° създаванС Π½Π° ΠΊΠ»ΠΎΠ½ΠΊΠ° относно Π±Π°Π·Π°Ρ‚Π° Π·Π° сливанС Π½Π° Π΄Π²Π΅ Π΄Ρ€ΡƒΠ³ΠΈ ΠΊΠ»ΠΎΠ½ΠΊΠΈ, ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° синтаксис β€žgit branch my-other-feature A…Bβ€œ;

  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ опцията β€žgit branch β€”show-currentβ€œ Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠ»ΠΎΠ½ΠΊΠ°Ρ‚Π°, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ ΠΏΡ€ΠΈ изпълнСниС Π½Π° опСрацията checkout;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ опцията β€žgit checkout β€”no-overlay β€” dirβ€œ, която ΠΏΡ€ΠΈ изпълнСниС Π½Π° опСрацията checkout Ρ‰Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° дирСкторията dir Π΄ΠΎ Π²ΠΈΠ΄, напълно ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‰ Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° master-ΠΊΠ»ΠΎΠ½ΠΊΠ°Ρ‚Π°. НапримСр, Π°ΠΊΠΎ Π² Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° копия Π½Π° дирСкторията dir ΠΈΠΌΠ° Ρ„Π°ΠΉΠ», ΠΊΠΎΠΉΡ‚ΠΎ липсва Π² master-ΠΊΠ»ΠΎΠ½ΠΊΠ°Ρ‚Π°, Ρ‚ΠΎ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΏΡ€ΠΈ изпълнСниС Π½Π° β€žgit checkout master β€” dirβ€œ Ρ‚ΠΎΠΉ Ρ‰Π΅ бъдС оставСн, Π° ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° опцията β€žβ€”no-overlayβ€œ Ρ‰Π΅ бъдС ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚;
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žgit diffβ€œ Π΅ Π²Π½Π΅Π΄Ρ€Π΅Π½ унивСрсалСн API Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΎΠΏΡ†ΠΈΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° ΠΎΠΏΡ†ΠΈΠΈΡ‚Π΅ с Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ инструмСнти Π½Π° git. НапримСр, Π² β€žgit diffβ€œ Π·Π° всички ΠΎΠΏΡ†ΠΈΠΈ сСга са Π½Π°Π»ΠΈΡ‡Π½ΠΈ ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ антагонисти (β€žβ€”function-contextβ€œ ΠΈ β€žβ€”no-function-contextβ€œ);
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅ ΠΏΡ€ΠΈ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° β€žgit logβ€œ Π½Π° ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ΅Π½ΠΈΡ‚Π΅ към ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ (β€žtrailerβ€œ β€” Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈ Ρ„Π»Π°Π³ΠΎΠ²Π΅, ΠΊΠ°Ρ‚ΠΎ Signed-off-by ΠΈ Co-authored-by). Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΡ‚ΠΎ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡, Ρ‚Π°ΠΊΠ° ΠΈ ΠΏΠΎ стойност, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:
    β€žgit log β€”pretty=β€ž%(trailers:key=Reviewed-by,valueonly)β€œ;
  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° прослСдяванС Trace2, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‰ ΠΏΠΎ-гъвкав ΠΈ структуриран Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° ΠΈΠ·Ρ…ΠΎΠ΄Π°. Trace2 позволява ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅ Π½Π° тСлСмСтрия Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° производитСлност Π·Π° ΠΏΠΎ-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π΅Π½ Π°Π½Π°Π»ΠΈΠ· ΠΈ отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ (ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡŠΡ‚ сС Π½Π°Π·Π½Π°Ρ‡Π°Π²Π° ΠΎΡ‚ потрСбитСля, Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ Π΄Π°Π½Π½ΠΈ Π½Π΅ сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ навън);
  • Π‘Ρ‚Π°Π½Π°Π» Π΅ ΠΏΠΎ-Ρ‡ΠΈΡ‚ΠΈΠΌ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° β€žgit bisectβ€œ, Π² ΠΊΠΎΠΉΡ‚ΠΎ сСга ΠΏΠΎ-ясно сС открояват ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈ ΠΈ сС изнася ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π° статистика ΠΏΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π·Π° всСки Ρ„Π°ΠΉΠ» (Π½Π° Π½ΠΈΠ²ΠΎ Π±Ρ€ΠΎΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅);
  • ΠŸΡ€Π΅Ρ€Π°Π±ΠΎΡ‚Π΅Π½Π° Π΅ хСвристиката Π·Π° опрСдСлянС Π½Π° прСимСнувания Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ·ΠΈ с Ρ†Π΅Π» ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° Ρ„Π°Π»ΡˆΠΈΠ²ΠΈ установки Π½Π° Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ Π·Π° прСимСнувания. ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½Π° съмнСния ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ·ΠΈ сСга сС ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°Ρ‚ ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π½ΠΈ;
  • ΠžΡΠΈΠ³ΡƒΡ€Π΅Π½ΠΎ Π΅ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΎΠΏΠΈΡ‚ Π·Π° поставянС Π½Π° Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ Π½Π° Π΄Ρ€ΡƒΠ³ Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ сС ΠΏΡ€Π°Π²ΠΈ ΠΏΠΎ Π³Ρ€Π΅ΡˆΠΊΠ° ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ поставянС Π½Π° Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ Π½Π΅ Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΊΠΎΠΌΠΈΡ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ конструкцията "git tag -f -m 'updated message' my-tag1 my-tag2" Ρ‰Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ създаванС Π½Π° Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ Π½Π° стар Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡŠΡ‚ Π΅ ΠΎΡ‡Π°ΠΊΠ²Π°Π», Ρ‡Π΅ новият Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ Ρ‰Π΅ бъдС поставСн Π½Π° ΠΊΠΎΠΌΠΈΡ‚, Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ сочи старият Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚);
  • Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π΅ гСнСрация Π·Π° Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π½Π° Π±ΠΈΡ‚ΠΎΠ²ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈ (дискова структура 'reachability bitmaps'), ΠΊΠΎΠΈΡ‚ΠΎ Π·Π°ΠΏΠ°Π·Π²Π°Ρ‚ Π΄Π°Π½Π½ΠΈ Π·Π° Π½Π°Π±ΠΎΡ€ΠΈ ΠΎΡ‚ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ Π·Π° всСки ΠΊΠΎΠΌΠΈΡ‚, ΠΈ позволяват Π±ΡŠΡ€Π·ΠΎ опрСдСлянС Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° основСн ΠΎΠ±Π΅ΠΊΡ‚. ΠŸΠΎΡΠΎΡ‡Π΅Π½Π°Ρ‚Π° структура Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΡΡŠΠΊΡ€Π°Ρ‰Π°Π²Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ (git fetch).

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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster