αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž”αŸ’αžšαž—αž– Git 2.39

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž–αžΈαžšαžαŸ‚αž“αŸƒαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž”αŸ’αžšαž—αž–αž…αŸ‚αž€αž…αžΆαž™ Git 2.39 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αŸ” Git αž‚αžΊαž‡αžΆαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž€αŸ†αžŽαŸ‚αžŠαŸ‚αž›αž–αŸαž‰αž“αž·αž™αž˜αž”αŸ†αž•αž»αž αžŠαŸ‚αž›αž’αžΆαž…αž‘αž»αž€αž…αž·αžαŸ’αžαž”αžΆαž“ αž“αž·αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαŸ’αž–αžŸαŸ‹ αžŠαŸ„αž™αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž§αž”αž€αžšαžŽαŸαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŠαŸ‚αž›αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž›αžΈαž“αŸαž’αŸŠαŸ‚αžšαžŠαŸ‚αž›αž’αžΆαž…αž”αžαŸ‹αž”αŸ‚αž“αž”αžΆαž“αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž€αžΆαžšαž”αŸ†αž”αŸ‚αž€ αž“αž·αž„αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž’αžΆαž“αžΆαž”αžΆαž“αž“αžΌαžœαž—αžΆαž–αžŸαž»αž…αžšαž·αžαž“αŸƒαž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‘αž”αŸ‹αž‘αž›αŸ‹αž“αžΉαž„αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αžΎαž„αžœαž·αž‰ αž€αžΆαžšαž”αž·αž‘αž”αžΆαŸ†αž„αžŠαŸ„αž™αž”αŸ’αžšαž™αŸ„αž›αž“αŸƒαž”αŸ’αžšαžœαžαŸ’αžαž·αž–αžΈαž˜αž»αž“αž‘αžΆαŸ†αž„αž˜αžΌαž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžαŸαž‡αŸ’αž‰αžΆαž…αž·αžαŸ’αžαž“αžΈαž˜αž½αž™αŸ— αžœαžΆαž€αŸαž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžŸαŸ’αž›αžΆαž€αž”αž»αž‚αŸ’αž‚αž› αž“αž·αž„αž€αžΆαžšαž”αŸ’αžšαž–αŸ’αžšαžΉαžαŸ’αžαžŠαŸ„αž™αž αžαŸ’αžαž›αŸαžαžΆαžŒαžΈαž‡αžΈαžαž›αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαŸ”

αž”αžΎαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž‘αŸ…αž“αžΉαž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž˜αž»αž“ αž€αŸ†αžŽαŸ‚αžαŸ’αž˜αžΈαžšαž½αž˜αž˜αžΆαž“αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž…αŸ†αž“αž½αž“ 483 αžŠαŸ‚αž›αžšαŸ€αž”αž…αŸ†αžŠαŸ„αž™αž˜αžΆαž“αž€αžΆαžšαž…αžΌαž›αžšαž½αž˜αž–αžΈαž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž…αŸ†αž“αž½αž“ 86 αž“αžΆαž€αŸ‹αžŠαŸ‚αž›αž€αŸ’αž“αž»αž„αž“αŸ„αŸ‡ 31 αž“αžΆαž€αŸ‹αž”αžΆαž“αž…αžΌαž›αžšαž½αž˜αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž‡αžΆαž›αžΎαž€αžŠαŸ†αž”αžΌαž„αŸ” αž€αžΆαžšαž…αŸ’αž“αŸƒαž”αŸ’αžšαžŒαž·αžαžŸαŸ†αžαžΆαž“αŸ‹αŸ—αŸ–

  • αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ "git shortlog" αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž…αž“αžΆαž‘αžΎαž„αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž αžΆαž‰αž€αžΆαžšαžŸαž„αŸ’αžαŸαž”αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžŸαŸ’αžαž·αžαž·αž–αžΈαž”αŸ’αžšαžœαžαŸ’αžαž·αž“αŸƒαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‡αž˜αŸ’αžšαžΎαžŸ "-group" αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŠαžΆαž€αŸ‹αž‡αžΆαž€αŸ’αžšαž»αž˜αžŠαŸ„αž™αž”αŸ†αž–αžΆαž“αžŠαŸ„αž™αžœαžΆαž›αž˜αž·αž“αž€αŸ†αžŽαžαŸ‹αž…αŸ†αž–αŸ„αŸ‡αž’αŸ’αž“αž€αž“αž·αž–αž“αŸ’αž’ ឬ committer αž‘αŸαŸ” αž§αž‘αžΆαž αžšαžŽαŸ αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž αžΆαž‰αž”αž‰αŸ’αž‡αžΈαž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŠαŸ‚αž›αž˜αžΆαž“αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž…αŸ†αž“αž½αž“αž“αŸƒαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš αžŠαŸ„αž™αž‚αž·αžαž‚αžΌαžšαž–αžΈαž’αŸ’αž“αž€αž‡αŸ†αž“αž½αž™αžŠαŸ‚αž›αž”αžΆαž“αž›αžΎαž€αž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„αžœαžΆαž› "αžŸαž αž’αŸ’αž“αž€αž“αž·αž–αž“αŸ’αž’αžŠαŸ„αž™" αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαŸ– git shortlog -ns --group=author- -group=trailer:co-authored-by

    αž›αž‘αŸ’αž’αž•αž› 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 αž–αžΈαž˜αž»αž“ αžŠαžΎαž˜αŸ’αž”αžΈαž’αž“αž»αžœαžαŸ’αžαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž“αŸαŸ‡ αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΎαž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžαž˜αŸ’αžšαŸ€αž” αž“αž·αž„ uniqαŸ– git log v2.38.0. .. β€”date='format:%Y -%m' β€”format='%cd' | αžαž˜αŸ’αžšαŸ€αž” | uniq -c

  • αžŸαž˜αžαŸ’αžαž—αžΆαž–αž“αŸƒαž™αž“αŸ’αžαž€αžΆαžš "αžαŸ’αž…αž”αŸ‹αžαŸ’αž…αž”αŸ‹" αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž…αž“αžΆαž‘αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžœαŸαž…αžαŸ’αž…αž”αŸ‹αžœαžαŸ’αžαž»αžŠαŸ‚αž›αž˜αž·αž“αž’αžΆαž…αž‘αŸ…αžŠαž›αŸ‹αž”αžΆαž“ αžŠαŸ‚αž›αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž™αŸ„αž„αž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„ (αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž™αŸ„αž„αžŠαŸ„αž™αžŸαžΆαžαžΆ αž¬αžŸαŸ’αž›αžΆαž€) αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž„αŸ’αžšαžΈαž€αŸ” αžœαžαŸ’αžαž»αžŠαŸ‚αž›αž˜αž·αž“αž’αžΆαž…αž‘αŸ…αžŠαž›αŸ‹αž”αžΆαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αž»αž”αžŠαŸ„αž™αž’αŸ’αž“αž€αž”αŸ’αžšαž˜αžΌαž›αžŸαŸ†αžšαžΆαž˜ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžšαž€αŸ’αžŸαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αŸαž›αžœαŸαž›αžΆαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™ αž˜αž»αž“αž–αŸαž›αž–αž½αž€αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αž»αž” αžŠαžΎαž˜αŸ’αž”αžΈαž‡αŸ€αžŸαžœαžΆαž„αž›αž€αŸ’αžαžαžŽαŸ’αžŒαž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžŽαžΆαŸ†αž„αŸ” αž™αž“αŸ’αžαž€αžΆαžš "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" αž“αŸ…αž–αŸαž›αžŸαŸ’αžœαŸ‚αž„αžšαž€αž“αŸ…αž€αŸ’αž“αž»αž„αžαŸ†αž”αž“αŸ‹αžŠαŸ‚αž›αž”αŸ’αžšαžΎαž€αžΆαžšαž€αŸ’αž›αžΌαž“αžŠαŸ„αž™αž•αŸ’αž“αŸ‚αž€ (sparse-checkout) αž“αž·αž„αžŠαŸ‚αž›αž˜αžΆαž“αžŸαž“αŸ’αž‘αžŸαŸ’αžŸαž“αŸαž•αŸ’αž“αŸ‚αž€ (sparse index)αŸ” αž–αžΈαž˜αž»αž“αž“αŸ…αž–αŸαž›αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž‡αž˜αŸ’αžšαžΎαžŸ "-cached" αž€αžΆαžšαžŸαŸ’αžœαŸ‚αž„αžšαž€αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžŠαŸ†αž”αžΌαž„αž“αŸ…αž€αŸ’αž“αž»αž„αž›αž·αž”αž·αž€αŸ’αžšαž˜αž’αž˜αŸ’αž˜αžαžΆ αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€αžŠαŸ‚αž›αž“αžΆαŸ†αž±αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαž–αž“αŸ’αž™αžΆαžšαž–αŸαž›αž‚αž½αžšαž±αŸ’αž™αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž“αŸ…αž–αŸαž›αžŸαŸ’αžœαŸ‚αž„αžšαž€αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αž’αŸ†αŸ”
  • αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αžšαž”αžŸαŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž’αŸ†αž–αžΈαž—αžΆαž–αžŸαŸŠαžΈαžŸαž„αŸ’αžœαžΆαž€αŸ‹αž‚αŸ’αž“αžΆαž“αŸƒαžœαžαŸ’αžαž»αžαŸ’αž˜αžΈ αž˜αž»αž“αž–αŸαž›αž–αž½αž€αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αž€αŸ†αž‘αž»αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš "git push" αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž“αŸ’αž›αžΏαž“αŸ” αžŠαŸ„αž™αž”αŸ’αžαžΌαžšαž‘αŸ…αž‚αžŽαž“αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ‚αžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž”αŸ’αžšαž€αžΆαžŸαž“αŸ…αž–αŸαž›αž–αž·αž“αž·αžαŸ’αž™ αž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαžΆαž€αž›αŸ’αž”αž„αžŠαŸ‚αž›αž˜αžΆαž“αžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹αž…αŸ†αž“αž½αž“ 7 αž›αžΆαž“ αžŠαŸ‚αž›αž€αŸ’αž“αž»αž„αž“αŸ„αŸ‡αž˜αžΆαž“αžαŸ‚ 3% αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸ’αžšαž”αžŠαžŽαŸ’αžαž”αŸ‹αžŠαŸ„αž™αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžšαž»αž‰ αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž”αžΆαž“αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž–αŸαž›αžœαŸαž›αžΆαž–αž·αž“αž·αžαŸ’αž™αž…αŸ†αž“αž½αž“ 4.5 αžŠαž„αŸ”
  • αžŠαžΎαž˜αŸ’αž”αžΈαž€αžΆαžšαž–αžΆαžšαž”αŸ’αžšαž†αžΆαŸ†αž„αž“αžΉαž„αž…αŸ†αž“αž½αž“αž‚αžαŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αžŸαž€αŸ’αžαžΆαž“αž»αž–αž›αž›αžΎαžŸαž…αŸ†αžŽαž»αŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΌαžŠ αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ "git apply" αž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž αŸ†αž’αžαž·αž”αžšαž˜αžΆαž“αŸƒαž”αŸ†αžŽαŸ‡αžŠαŸ‚αž›αž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αžΆαž“αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‘αŸ†αž αŸ†αž”αŸ†αžŽαŸ‡αž›αžΎαžŸαž–αžΈ 1 GB αž“αŸ„αŸ‡αž€αŸ†αž αž»αžŸαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž₯αž‘αžΌαžœαž“αŸαŸ‡αŸ”
  • αžŠαžΎαž˜αŸ’αž”αžΈαž€αžΆαžšαž–αžΆαžšαž”αŸ’αžšαž†αžΆαŸ†αž„αž“αžΉαž„αž—αžΆαž–αž„αžΆαž™αžšαž„αž‚αŸ’αžšαŸ„αŸ‡αžŠαŸ‚αž›αž’αžΆαž…αž€αžΎαžαž˜αžΆαž“ αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž‘αžΎαž„αžŠαžΎαž˜αŸ’αž”αžΈαžŸαž˜αŸ’αž’αžΆαžαž–αŸαžαŸŒαž˜αžΆαž“αžŠαŸ‚αž›αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž…αŸαž‰αž–αžΈαž”αž‹αž˜αž€αžαžΆαžŠαŸ‚αž›αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž“αŸ…αž–αŸαž›αž”αŸ’αžšαžΎαž˜αŸ‰αžΌαžŒαž»αž› h2h3 αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž‡αž˜αŸ’αžšαžΎαžŸ GIT_TRACE_CURL=1 ឬ GIT_CURL_VERBOSE=1 αžšαž½αž˜αž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™ HTTP/2 αŸ”
  • αž“αŸ…αž–αŸαž›αž’αŸ’αžœαžΎαž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž…αŸαž‰αž“αŸ…αž›αžΎαžŸαžΆαžαžΆαžŠαŸ‚αž›αž‡αžΆαžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹αž“αž·αž˜αž·αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαž‘αŸ…αžŸαžΆαžαžΆαž˜αž½αž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αž αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ "git symbolic-ref HEAD" αž₯αž‘αžΌαžœαž“αŸαŸ‡αž”αž„αŸ’αž αžΆαž‰αžˆαŸ’αž˜αŸ„αŸ‡αžŸαžΆαžαžΆαž‚αŸ„αž›αžŠαŸ…αž‡αžΆαž‡αžΆαž„αžˆαŸ’αž˜αŸ„αŸ‡αž“αŸƒαžαŸ†αžŽαž“αž·αž˜αž·αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αžΆαž‚αž»αž™αž˜αŸ‰αž„αŸ‹ @{-1} αž‘αŸ…αž‡αž˜αŸ’αžšαžΎαžŸ β€œ--edit-description” (β€œgit branch β€”edit-description @{-1}”) αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαžšαž”αžŸαŸ‹αžŸαžΆαžαžΆαž–αžΈαž˜αž»αž“αŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ "git merge-tree --stdin" αžŠαžΎαž˜αŸ’αž”αžΈαž†αŸ’αž›αž„αž€αžΆαžαŸ‹αž”αž‰αŸ’αž‡αžΈαž‡αž˜αŸ’αžšαžΎαžŸαžαžΆαž˜αžšαž™αŸˆαž€αžΆαžšαž”αž‰αŸ’αž…αžΌαž›αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαŸ”
  • αž“αŸ…αž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž―αž€αžŸαžΆαžšαž”αžŽαŸ’αžαžΆαž‰ αž§αž”αž€αžšαžŽαŸαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™ fsmonitor αžŠαŸ‚αž›αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž―αž€αžŸαžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž·αž‘αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αŸ”

αž”αŸ’αžšαž—αž–: opennet.ru

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹