ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π΅Π½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° систСма Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ изходния тСкст Git 2.55. Π‘Ρ€Π΅Π΄ основнитС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ: Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π½Π° компилация с Rust, рСализация Π½Π° процСса fsmonitor Π·Π° Linux, Π½ΠΎΠ²Π° стратСгия Π·Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ Π½Π° инкрСмСнталния MIDX индСкс, ΠΊΠΎΠΌΠ°Π½Π΄Π° git history fixup Π·Π° ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΠΈ Π½Π° ΠΊΠΎΠΌΠΈΡ‚, оптимизация Π½Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π±ΠΈΡ‚ΠΎΠ²ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈ Π·Π° наличност Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ изпълнСниС Π½Π° Ρ…ΡƒΠΊΠΎΠ²Π΅Ρ‚Π΅, ΠΊΠΎΠΌΠ°Π½Π΄Π° git format-rev. Код Git разпространява ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π· GPLv2+.

Π’ сравнСниС с ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΎΡ‚ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅, Π² Π½ΠΎΠ²Π°Ρ‚Π° вСрсия са ΠΏΡ€ΠΈΠ΅Ρ‚ΠΈ 505 ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ с участиСто Π½Π° 100 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ, 33 ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ участват Π·Π° ΠΏΡŠΡ€Π²ΠΈ ΠΏΡŠΡ‚ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Git.

Основни нововъвСдСния (github.blog, gitlab.com/blog, gitlab.com/git-scm):

  • По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust. ΠšΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ rustc Π΄ΠΎΠ±Π°Π²Π΅Π½ Π² списъка Π½Π° зависимоститС Π·Π° компилация. Π—Π° компилация Π±Π΅Π· Rust ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ„Π»Π°Π³ΡŠΡ‚ NO_RUST=1 ΠΏΡ€ΠΈ стартиранС Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ‚Π° make ΠΈΠ»ΠΈ -Drust=disabled ΠΏΡ€ΠΈ изпълнСниС Π½Π° meson configure. Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° компилацията с Rust Ρ‰Π΅ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Π΄ΠΎ вСрсия Git 3.0, Π² която Rust Ρ‰Π΅ бъдС Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² списъка Π½Π° Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ зависимости. На Π΅Π·ΠΈΠΊΠ° Rust Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ слой Π·Π° прСносимост ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ с Ρ…Π΅ΡˆΠΎΠ²Π΅Ρ‚Π΅ SHA-1 ΠΈ SHA-256, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ някои Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ†Π΅Π»ΠΈ числа с ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° дълТина. Π’ Π±ΡŠΠ΄Π΅Ρ‰Π΅ сС ΠΎΡ‡Π°ΠΊΠ²Π° ΠΏΡ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Rust Π½Π° ΠΏΠΎ-Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° Git.
  • Π’ СкспСримСнталната ΠΊΠΎΠΌΠ°Π½Π΄Π° "git history", прСдоставяща Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° прСписванС Π½Π° историята Π½Π° промяната, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° опСрация β€žgit history fixupβ€œ Π·Π° ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΠΈ Π½Π° ΠΊΠΎΠΌΠΈΡ‚. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡΡ‚Π° fixup позволява прСмСстванС Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Ρ‡Ρ€Π΅Π· git add, Π² ΠΏΠΎ-Ρ€Π°Π½Π΅Π½ ΠΊΠΎΠΌΠΈΡ‚ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ прСписванС Π½Π° всички слСдващи ΠΊΠΎΠΌΠΈΡ‚ΠΈ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° git commit β€”fixup=<commit> ΠΈ стартиранС Π½Π° git rebase β€”autosquash <commit>~.
  • Π—Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Linux Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Ρ„ΠΎΠ½ΠΎΠ² процСс fsmonitor, слСдящ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма Ρ‡Ρ€Π΅Π· ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° inotify ΠΈ позволяващ избягванС Π½Π° ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° цялата Ρ€Π°Π±ΠΎΡ‚Π½Π° дирСктория ΠΏΡ€ΠΈ изпълнСниС Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΊΠ°Ρ‚ΠΎ git status. Π’ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ става Ρ‡Ρ€Π΅Π· настройка β€žcore.fsmonitorΒ».
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° git repack Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ β€”write-midx=incremental, Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‰ Π½ΠΎΠ²Π° стратСгия Π·Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π² ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»Π΅Π½ MIDX индСкс (multi-pack index), позволяваща Π΄Π° сС ΠΈΠ·Π±Π΅Π³Π½Π΅ ΠΏΡ€Π΅Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° цСлия индСкс. Π’ инкрСмСнталния ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ°ΠΊΠ΅Ρ‚Π΅Π½ индСкс вмСсто Π΅Π΄ΠΈΠ½ голям индСкс, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰ информация Π·Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅ ΠΏΠΎ pack Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅, сС ΠΏΡ€ΠΈΠ»Π°Π³Π° раздСлянС Π½Π° слоСвС β€” всСки слой ΠΎΠ±Ρ…Π²Π°Ρ‰Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π±Ρ€ΠΎΠΉ pack Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Π² ΠΎΡ‚Π΄Π΅Π»Π΅Π½ bitmap Ρ„Π°ΠΉΠ». Подобна структура позволява добавянСто Π½Π° Π΄Π°Π½Π½ΠΈ Π·Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Π² Π½ΠΎΠ²ΠΈ pack Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, прикрСпяйки Π½ΠΎΠ²ΠΈ слоСвС към индСкса, Π±Π΅Π· Π΄Π° сС Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° сС рСконструират Π²Π΅Ρ‡Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ слоСвС. ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° git repack β€”write-midx=incremental позволява добавянСто Π½Π° Π½ΠΎΠ² слой Π² инкрСмСнталния MIDX индСкс, ΠΎΠ±Ρ…Π²Π°Ρ‰Π°Ρ‰ наскоро създадСни pack Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. Π’ комбинация с Ρ€Π΅ΠΆΠΈΠΌΠ° Π·Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ β€”geometric Π½ΠΎΠ²Π°Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° прСдоставя Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° обСдиняванС Π½Π° Π½ΠΎΠ²ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ΠΎΡ‚ няколко pack Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² Π΅Π΄ΠΈΠ½ ΠΏΠΎ-голям pack Ρ„Π°ΠΉΠ» ΠΈ, ΠΏΡ€ΠΈ нСобходимост, Π·Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ€Π°Π½Π΅ ΠΈ сливанС Π½Π° няколко съсСдни слоя Π½Π° инкрСмСнталния MIDX индСкс. Подобна стратСгия позволява ΠΏΡ€ΠΈ изпълнСниС Π½Π° git repack Π΄Π° сС прСзаписват само Π³ΠΎΡ€Π½ΠΈΡ‚Π΅ слоСвС, оставяйки старитС Π³ΠΎΠ»Π΅ΠΌΠΈ слоСвС Π½Π΅ΠΏΠΎΠΊΡŠΡ‚Π½Π°Ρ‚ΠΈ, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π΄Π° сС ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈ Π½Π΅ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡ‚ΠΎ разрастванС Π½Π° Π²Π΅Ρ€ΠΈΠ³Π°Ρ‚Π° ΠΎΡ‚ слоСвС, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°ΠΉΠΊΠΈ общия Π±Ρ€ΠΎΠΉ слоСвС Π½Π° Π½ΠΈΠ²ΠΎ, ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»Π½ΠΎ Π½Π° Π»ΠΎΠ³Π°Ρ€ΠΈΡ‚ΡŠΠΌΠ° ΠΎΡ‚ общия Π±Ρ€ΠΎΠΉ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ.
  • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π° гСнСрацията Π½Π° Π±ΠΈΡ‚ΠΎΠ²ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈ Π·Π° наличност Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° новия Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π·Π° ΠΎΠ±Ρ…ΠΎΠ΄ Π½Π° Π΄ΡŠΡ€Π²ΠΎΡ‚ΠΎ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π° ΠΈΠ·Π»ΠΈΡˆΠ½Π°Ρ‚Π° рСкурсия, ΠΊΠ΅ΡˆΠΈΡ€Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈΡ‚Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅, сортира Π±ΠΈΡ‚ΠΎΠ²ΠΈΡ‚Π΅ ΠΊΠ°Ρ€Ρ‚ΠΈ ΠΏΡ€Π΅Π΄ΠΈ тяхното ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ‡Ρ€Π΅Π· опСрация XOR ΠΈ ΠΏΡ€Π΅Ρ€Π°Π±ΠΎΡ‚Π²Π° ΠΊΠΎΠ΄Π° Π·Π° ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π±ΠΈΡ‚ΠΎΠ²ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈ Π·Π° псСвдосливанС (pseudo-merge). Π’ тСстовия Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅ успяха Π΄Π° ΡΡŠΠΊΡ€Π°Ρ‚ΡΡ‚ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Π±ΠΈΡ‚ΠΎΠ²ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈ ΠΎΡ‚ 612 Π½Π° 294 сСкунди.
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ изпълнСниС Π½Π° нСзависими Ρ…ΡƒΠΊΠΎΠ²Π΅ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. Π₯ΡƒΠΊΠΎΠ²Π΅Ρ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠΌΠ°Ρ‚ влияниС Π²ΡŠΡ€Ρ…Ρƒ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚Π½ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ ΠΈΠ»ΠΈ Π³ΠΎ Π²Π·Π΅ΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, промСнящи Π±Π΅Π»Π΅ΠΆΠΊΠΈΡ‚Π΅ към ΠΊΠΎΠΌΠΈΡ‚ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ инспириращи индСкситС ΠΈ Ρ€Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ Π΄ΡŠΡ€Π²ΠΎ, Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ изпълнявани ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° стартиратС Ρ…ΡƒΠΊΠΎΠ²Π΅ Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° с Π»ΠΈΠ½Ρ‚Π΅Ρ€ ΠΈ изпълнСниС Π½Π° unit тСстовС ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ. Π₯ΡƒΠΊΠΎΠ²Π΅Ρ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ позволяват ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ изпълнСниС, сС настройват Ρ‡Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° hook.ΠΈΠΌΠ΅_Ρ…ΡƒΠΊ.parallel = true. Броят Π½Π° ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ стартиращитС Π·Π°Π΄Π°Ρ‡ΠΈ сС опрСдСля Ρ‡Ρ€Π΅Π· настройката hook.jobs, hook.<ΡΡŠΠ±ΠΈΡ‚ΠΈΠ΅>.jobs ΠΈΠ»ΠΈ опцията Π½Π° командния Ρ€Π΅Π΄ -j.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° git pack-objects β€”path-walk Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΡƒΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈ, ΠΊΠ°Ρ‚ΠΎ blob:none, blob:limit=<n>, tree:0, object:type=<type>, sparse:<oid> ΠΈ combine:. Π’ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ тСст отстраняванСто Π½Π° Π±Π»ΠΎΠ±ΠΎΠ²Π΅Ρ‚Π΅ ΠΏΡ€ΠΈ изпълнСниС Π½Π° β€”path-walk Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π΄Π° сС Π½Π°ΠΌΠ°Π»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° създадСния pack Ρ„Π°ΠΉΠ» с 16%.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° git format-rev Π·Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ ΠΈ ΠΈΠΌΠ΅Π½Π° Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, спомСнавани Π² ΡΠΏΠΈΡΡŠΡ†ΠΈ с ΠΊΠΎΠΌΠΈΡ‚ΠΈ ΠΈΠ»ΠΈ срСщащи сС Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ тСкст (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Ρ…ΡƒΠΊΠΎΠ²Π΅ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π±Π΅Π»Π΅ΠΆΠΊΠΈ към ΠΊΠΎΠΌΠΈΡ‚ΠΈΡ‚Π΅).

git last-modified | git format-rev β€”stdin-mode=text β€”format=%an

Junio C Hamano builtin/commit.c

  • По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π΅ΠΊΡ€Π°Π½ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ управляващи послСдоватСлности Π½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ ΠΈ тСкстовСтС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ, ΠΏΡ€Π΅Π΄Π°Π²Π°Π½ΠΈ ΠΎΡ‚ ΡΡŠΡ€Π²ΡŠΡ€Π°. ΠŸΡ€ΠΈ ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ с Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½ ΡΡŠΡ€Π²ΡŠΡ€ Ρ‚Π°ΠΊΠΈΠ²Π° escape послСдоватСлности ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° скриванС ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ·Ρ…ΠΎΠ΄Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ€Π΅Π· escape послСдоватСлности Π·Π° прСмСстванС Π½Π° курсора ΠΈ изчистванС Π½Π° тСкста. ΠŸΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ°Ρ‚Π° Π½Π° escape послСдоватСлности Π·Π° Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎ ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅ остава.
  • ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° git checkout -m сСга Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π·Π°ΠΏΠ°Π·Π²Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² стСка, Π±Π΅Π· Π΄Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π΄Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π²Π°Ρ‚Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° git push Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° ΠΊΠ»ΠΎΠ½Π° Π½Π° няколко външни Git ΡΡŠΡ€Π²ΡŠΡ€Π° с Π΅Π΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°. НапримСр, Π·Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° ΠΊΠ»ΠΎΠ½Π° main Π½Π΅ само Π½Π° основния ΡΡŠΡ€Π²ΡŠΡ€, Π½ΠΎ ΠΈ Π½Π° ΠΎΠ³Π»Π΅Π΄Π°Π»Π°Ρ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ Π³Ρ€ΡƒΠΏΠ° publish ΠΎΡ‚ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ github, gitlab ΠΈ mirror:

git config remotes.publish "github gitlab mirror"
git push publish main

  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° git log β€”graph Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° опцията β€”graph-lane-limit=<N> Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° броя Π½Π° Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»Π½ΠΈΡ‚Π΅ Π»Π΅Π½Ρ‚ΠΈ ΠΏΡ€ΠΈ визуализацията Π½Π° ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅Ρ‚Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява Π΄Π° останС място Π½Π° Π΅ΠΊΡ€Π°Π½Π° Π·Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π·Π° ΠΊΠΎΠΌΠΈΡ‚ΠΈΡ‚Π΅ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° с голям Π±Ρ€ΠΎΠΉ ΠΊΠ»ΠΎΠ½ΠΈ.

…
* | | | | 619931f561 Merge branch β€˜dl/posix-unused-warning-clang’
|\ \ \ \ \
| * | | | ~ cf48887610 compat/posix.h: опростяванС Π½Π° сравнСниС GIT_GNUC_PREREQ()
| * | | | ~ ffd45926dc compat/posix.h: почистванС Π½Π° GIT_GNUC_PREREQ() ΠΈ UNUSED
|\ \ \ \ \~
| * | | | ~ 3f5203eeb4 ls-files: Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° pathspec ΠΏΡ€Π΅Π΄ΠΈ lstat

  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ git log ΠΈ git rev-list Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° опция β€”max-count-oldest=, която позволява Π΄Π° сС ΠΈΠ·Π±Π΅Ρ€Π°Ρ‚ N Π½Π°ΠΉ-стари ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.

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

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