Git 2.39 เบเบฒเบ™เบ›เปˆเบญเบเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเปเบซเบผเปˆเบ‡

เบซเบผเบฑเบ‡เบˆเบฒเบเบชเบญเบ‡เป€เบ”เบทเบญเบ™เบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ, เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเปเบซเบผเปˆเบ‡เปเบˆเบเบขเบฒเบ Git 2.39 เป„เบ”เป‰เบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒ. Git เป€เบ›เบฑเบ™เปœเบถเปˆเบ‡เปƒเบ™เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเป€เบงเบตเบŠเบฑเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เบ—เบตเปˆเบ™เบดเบเบปเบกเบ—เบตเปˆเบชเบธเบ”, เป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰ เปเบฅเบฐ เบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡, เบชเบฐเปœเบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบšเบšเบšเปเปˆเป€เบ›เบฑเบ™เป€เบชเบฑเป‰เบ™เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบเบทเบ”เบซเบเบธเปˆเบ™เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เปเบ•เบเบ‡เปˆเบฒ เปเบฅเบฐ เบเบฒเบ™เบฅเบงเบกเบ•เบปเบง. เป€เบžเบทเปˆเบญเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบ„เบงเบฒเบกเบชเบปเบกเบšเบนเบ™เบ‚เบญเบ‡เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบ•เป‰เบฒเบ™เบ—เบฒเบ™เบเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡ retroactive, implicit hashing เบ‚เบญเบ‡เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เปเบ•เปˆเบฅเบฐเบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒ; เบกเบฑเบ™เบเบฑเบ‡เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบขเบฑเป‰เบ‡เบขเบทเบ™ tags เบšเบธเบเบ„เบปเบ™เปเบฅเบฐเบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเบ—เบตเปˆเบกเบตเบฅเบฒเบเป€เบŠเบฑเบ™เบ”เบดเบˆเบดเบ•เบญเบ™เบ‚เบญเบ‡เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ.

เป€เบกเบทเปˆเบญเบ›เบฝเบšเบ—เบฝเบšเบเบฑเบšเบฅเบธเป‰เบ™เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ, เบฎเบธเปˆเบ™เปƒเบซเบกเปˆเบฅเบงเบกเบกเบต 483 เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡, เบเบฐเบเบฝเบกเบ”เป‰เบงเบเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบ‚เบญเบ‡เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ 86 เบ„เบปเบ™, เปƒเบ™เบ™เบฑเป‰เบ™เบกเบต 31 เบ„เบปเบ™เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเปƒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”. เบ™เบฐเบงเบฑเบ”เบ•เบฐเบเปเบฒเบ•เบปเป‰เบ™เบ•เป:

  • เบ„เปเบฒเบชเบฑเปˆเบ‡ "git shortlog", เบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเบชเบฐเปเบ”เบ‡เบšเบปเบ”เบชเบฐเบซเบผเบธเบšเบ—เบตเปˆเบกเบตเบชเบฐเบ–เบดเบ•เบดเบˆเบฒเบเบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡, เป„เบ”เป‰เป€เบžเบตเปˆเบกเบ—เบฒเบ‡เป€เบฅเบทเบญเบ "-group" เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบเบธเปˆเบกเป‚เบ”เบ arbitrary เบ‚เบญเบ‡ commits เป‚เบ”เบเบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเบšเปเปˆเบˆเปเบฒเบเบฑเบ”เบœเบนเป‰เบ‚เบฝเบ™เบซเบผเบท committer. เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญเบชเบฐเปเบ”เบ‡เบฅเบฒเบเบŠเบทเปˆเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ—เบตเปˆเบกเบตเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡, เป‚เบ”เบเบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบ•เบปเบงเบŠเปˆเบงเบเบ—เบตเปˆเป„เบ”เป‰เบเปˆเบฒเบงเบกเบฒเปƒเบ™เบžเบฒเบเบชเบฐเบซเบ™เบฒเบก "Co-authored-by", เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡: git shortlog -ns --group=author - -group=trailer:co-authored-เป‚เบ”เบ

    เบœเบปเบ™เบœเบฐเบฅเบดเบ” Shortlog เบชเบฒเบกเบฒเบ”เบ–เบทเบเบฅเบงเบšเบฅเบงเบกเป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบˆเบฑเบ”เบฎเบนเบšเปเบšเบš, เปเบฅเบฐเบ—เบฒเบ‡เป€เบฅเบทเบญเบ "--group" เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบชเป‰เบฒเบ‡เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™เบซเบผเบฒเบเปเบฅเบฐเบฅเบปเบšเบฅเป‰เบฒเบ‡เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡เบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡เป€เบžเบตเปˆเบกเป€เบ•เบตเบก. เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบ—เบตเปˆเบกเบตเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบˆเปเบฒเบ™เบงเบ™เบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เปˆเบญเบเบญเบญเบเบกเบฒเป€เบกเบทเปˆเบญเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบเบญเบกเบฎเบฑเบšเปƒเบ™เปเบ•เปˆเบฅเบฐเป€เบ”เบทเบญเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”: git shortlog v2.38.0.. โ€”date='format:%Y-%m' โ€”group=' %cd' -s 2 2022-08 47 2022-09 405 2022-10 194 2022-11 5 2022-12 เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰, เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™, เบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เปƒเบŠเป‰ sort เปเบฅเบฐ uniq utilities: git log v2.38.0. .. โ€”date='format:%Y -%m' โ€”format='%cd' | เบ„เบฑเบ” | uniq -c

  • เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡เบเบปเบ™เป„เบ "cruft packs", เบญเบญเบเปเบšเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบซเบธเป‰เบกเบซเปเปˆเบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เบšเบฑเบ™เบฅเบธเป„เบ”เป‰เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบญเป‰เบฒเบ‡เบญเบตเบ‡เปƒเบ™ repository (เบšเปเปˆเป„เบ”เป‰เบญเป‰เบฒเบ‡เบญเบตเบ‡เป‚เบ”เบเบชเบฒเบ‚เบฒเบซเบผเบท tags), เป„เบ”เป‰เบ–เบทเบเบ‚เบฐเบซเบเบฒเบเบญเบญเบ. เบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเบซเบฒเป„เบ”เป‰เบˆเบฐเบ–เบทเบเบฅเบถเบšเป‚เบ”เบเบœเบนเป‰เป€เบเบฑเบšเบ‚เบตเป‰เป€เบซเบเบทเป‰เบญ, เปเบ•เปˆเบเบฑเบ‡เบ„เบปเบ‡เบขเบนเปˆเปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เบเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเบกเบฑเบ™เบˆเบฐเบ–เบทเบเบฅเบถเบšเบ–เบดเป‰เบกเป€เบžเบทเปˆเบญเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบชเบฐเบžเบฒเบšเบเบฒเบ™เปเบ‚เปˆเบ‡เบ‚เบฑเบ™. เบเบปเบ™เป„เบ "cruft packs" เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเบซเบฒเป„เบ”เป‰เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เป„เบŸเบฅเปŒเบŠเบญเบ‡เบซเบ™เบถเปˆเบ‡, เปเบฅเบฐเบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบกเบนเบ™เป€เบงเบฅเบฒเบเบฒเบ™เบ”เบฑเบ”เปเบเป‰เบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบงเบฑเบ”เบ–เบธเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เป„เบŸเบฅเปŒเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบ—เบตเปˆเบกเบต ".mtimes", เป€เบžเบทเปˆเบญเปƒเบซเป‰เบžเบงเบเป€เบ‚เบปเบฒเป€เบฎเบฑเบ”. เบšเปเปˆเบ—เบฑเบšเบŠเป‰เบญเบ™เบเบฑเบšเป€เบงเบฅเบฒเบ”เบฑเบ”เปเบเป‰เบ—เบฑเบ‡เบซเบกเบปเบ”.

    เป„เบฅเบเบฐเป€เบงเบฅเบฒเบ—เบตเปˆเบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเบซเบฒเป„เบ”เป‰เบเบฑเบ‡เบ„เบปเบ‡เบขเบนเปˆเปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเบกเบฑเบ™เบˆเบฐเบ–เบทเบเบฅเบถเบšเบขเปˆเบฒเบ‡เบˆเบดเบ‡เบˆเบฑเบ‡เปเบกเปˆเบ™เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ "-prune =" " เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบเบฒเบ™เบŠเบฑเบเบŠเป‰เบฒเบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบฅเบถเบšเปเบกเปˆเบ™เป€เบ›เบฑเบ™เบงเบดเบ—เบตเบ—เบตเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบœเบปเบ™เปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบžเบทเปˆเบญเบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เบชเปเป‰เบฅเบฒเบ”เบšเบฑเบ‡เบซเบผเบงเบ‡เบ‚เบญเบ‡เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบเป‰เบญเบ™เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบŠเบทเป‰เบญเบŠเบฒเบ”, เบกเบฑเบ™เบšเปเปˆเปเบกเปˆเบ™เบ„เบงเบฒเบกเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบท 100%. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบ‡เปˆเบฒเบเบ•เปเปˆเบเบฒเบ™เบŸเบทเป‰เบ™เบŸเบนเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบ—เบตเปˆเป€เบชเบเบซเบฒเบ, เบเบฒเบ™เบ›เปˆเบญเบเปƒเบซเบกเปˆเบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบŠเปˆเบงเบเบ›เบฐเบขเบฑเบ”เบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบซเบฒเบเป„เบ›เป‚เบ”เบเบเบฒเบ™เป€เบžเบตเปˆเบกเบ—เบฒเบ‡เป€เบฅเบทเบญเบ "--expire-to" เปƒเบชเปˆเบ„เปเบฒเบชเบฑเปˆเบ‡ "git repack", เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เป„เบŸเบฅเปŒเป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบžเบฒเบเบ™เบญเบ. เบชเปเบฒเป€เบ™เบปเบฒเบ‚เบญเบ‡เบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบ–เบทเบเบฅเบปเบšเบ—เบฑเบ‡เบซเบกเบปเบ”. เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญเบšเบฑเบ™เบ—เบถเบเบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเบซเบฒเป„เบ”เป‰เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™ 5 เบ™เบฒเบ—เบตเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเปƒเบ™เป„เบŸเบฅเปŒ backup.git, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡: git repack --cruft --cruft-expiration=5.minutes.ago -d --expire -to=../backup.git

  • เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ (เป€เบ–เบดเบ‡ 70%) เบ„เบงเบฒเบกเป„เบงเบ‚เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™ "git grep -cached" เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบŠเบญเบเบซเบฒเบขเบนเปˆเปƒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเปƒเบŠเป‰ cloning เบšเบฒเบ‡เบชเปˆเบงเบ™ (sparse-checkout) เปเบฅเบฐเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบตเปˆเบกเบตเบ”เบฑเบ”เบŠเบฐเบ™เบตเบšเบฒเบ‡เบชเปˆเบงเบ™ (sparse index). เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰, เป€เบกเบทเปˆเบญเบฅเบฐเบšเบธเบ•เบปเบงเป€เบฅเบทเบญเบ "-cached", เบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”เปƒเบ™เบ”เบฑเบ”เบŠเบฐเบ™เบตเบ›เบปเบเบเบฐเบ•เบด, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปƒเบ™เบšเบฒเบ‡เบชเปˆเบงเบ™, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบ„เบงเบฒเบกเบฅเปˆเบฒเบŠเป‰เบฒเบ—เบตเปˆเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบŠเบญเบเบซเบฒเบขเบนเปˆเปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆ.
  • เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เบเบฒเบ™เบชเบญเบ”เบ„เปˆเบญเบ‡เบ‚เบญเบ‡เบงเบฑเบ”เบ–เบธเปƒเบซเบกเปˆเบเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเบกเบฑเบ™เบˆเบฐเบ–เบทเบเบˆเบฑเบ”เปƒเบชเปˆเปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™ "git push" เป„เบ”เป‰เบ–เบทเบเป€เบฅเบฑเปˆเบ‡. เป‚เบ”เบเบเบฒเบ™เบ›เปˆเบฝเบ™เป„เบ›เบชเบนเปˆเบเบฒเบ™เบšเบฑเบ™เบŠเบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบ›เบฐเบเบฒเบ”เบžเบฝเบ‡เปเบ•เปˆเป€เบกเบทเปˆเบญเบเบงเบ”เบชเบญเบš, เปƒเบ™เบ„เบฑเบ‡เบ—เบปเบ”เบชเบญเบšเบ—เบตเปˆเบกเบต 7 เบฅเป‰เบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ, เป€เบŠเบดเปˆเบ‡เบกเบตเบžเบฝเบ‡เปเบ•เปˆ 3% เบ—เบตเปˆเบ–เบทเบเบ„เบธเป‰เบกเบ„เบญเบ‡เป‚เบ”เบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบŠเบธเบเบเบนเป‰, เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบซเบผเบธเบ”เบฅเบปเบ‡เป€เบงเบฅเบฒเบเบงเบ”เบชเบญเบš 4.5 เป€เบ—เบทเปˆเบญ.
  • เป€เบžเบทเปˆเบญเบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เบฅเบปเป‰เบ™เบˆเบณเบ™เบงเบ™เป€เบ•เบฑเบกเปƒเบ™เบฅเบฐเบซเบฑเบ”, เบ„เบณเบชเบฑเปˆเบ‡ "git apply" เบˆเบฐเบˆเบณเบเบฑเบ”เบ‚เบฐเปœเบฒเบ”เบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ›เบฐเบกเบงเบ™เบœเบปเบ™เป„เบ”เป‰. เบ–เป‰เบฒเบ‚เบฐเบซเบ™เบฒเบ” patch เป€เบเบตเบ™ 1 GB, เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เบˆเบฐเบ–เบทเบเบชเบฐเปเบ”เบ‡เบ‚เบถเป‰เบ™.
  • เป€เบžเบทเปˆเบญเบ›เป‰เบญเบ‡เบเบฑเบ™เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ—เบตเปˆเบญเบฒเบ”เบˆเบฐเป€เบเบตเบ”เบ‚เบถเป‰เบ™, เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เป€เบžเบทเปˆเบญเบ—เปเบฒเบ„เบงเบฒเบกเบชเบฐเบญเบฒเบ”เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบˆเบฒเบเบชเปˆเบงเบ™เบซเบปเบงเบ—เบตเปˆเบ•เบฑเป‰เบ‡เป„เบงเป‰เป€เบกเบทเปˆเบญเปƒเบŠเป‰เป‚เบกเบ”เบนเบ™ h2h3 เบ”เป‰เบงเบเบ•เบปเบงเป€เบฅเบทเบญเบ GIT_TRACE_CURL=1 เบซเบผเบท GIT_CURL_VERBOSE=1 เบฎเปˆเบงเบกเบเบฑเบš HTTP/2.
  • เป€เบกเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบชเบฒเบ‚เบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เบชเบฑเบ™เบเบฒเบฅเบฑเบเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบชเบฒเบ‚เบฒเบญเบทเปˆเบ™, เบ„เปเบฒเบชเบฑเปˆเบ‡ "git symbolic-ref HEAD" เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบชเบฐเปเบ”เบ‡เบŠเบทเปˆเบ‚เบญเบ‡เบชเบฒเบ‚เบฒเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบŠเบทเปˆเบ‚เบญเบ‡ symlink.
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡ @{-1} เปƒเบซเป‰เบเบฑเบšเบ•เบปเบงเป€เบฅเบทเบญเบ โ€œ--edit-descriptionโ€ (โ€œเบชเบฒเบ‚เบฒ git โ€”edit-description @{-1}โ€) เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบ„เบณเบญเบฐเบ—เบดเบšเบฒเบเบ‚เบญเบ‡เบชเบฒเบ‚เบฒเบเปˆเบญเบ™เปœเป‰เบฒ.
  • เป€เบžเบตเปˆเบก "git merge-tree --stdin" เบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบžเบทเปˆเบญเบœเปˆเบฒเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™.
  • เปƒเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™ fsmonitor, เป€เบŠเบดเปˆเบ‡เบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ, เบ–เบทเบเบ›เบดเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™