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

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

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

  • αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžαžΌαžšαž‘αŸ… αž€αŸ†αžŽαŸ‚αž‘αžΈαž–αžΈαžš αž–αž·αž’αžΈαž€αžΆαžšαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„ Git αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž“αŸ…αž–αŸαž›αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž‰αŸ€αžœαž—αŸ’αž‡αžΆαž”αŸ‹αž–αžΈαž…αž˜αŸ’αž„αžΆαž™αž‘αŸ…αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ Git αŸ” αž€αŸ†αžŽαŸ‚αž‘αžΈαž–αžΈαžšαž“αŸƒαž–αž·αž’αžΈαž€αžΆαžšαž‚αžΊαž‚αž½αžšαž±αŸ’αž™αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž•αŸ’αžαž›αŸ‹αž“αžΌαžœαžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαžαŸ’αžšαž„αžŸαžΆαžαžΆ αž“αž·αž„αžŸαŸ’αž›αžΆαž€αž“αŸ…αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ αžαŸ’αžšαž‘αž”αŸ‹αž”αž‰αŸ’αž‡αžΈαžαŸ†αžŽαžαŸ’αž›αžΈαŸ—αž‘αŸ…αž€αžΆαž“αŸ‹αž’αžαž·αžαž·αž‡αž“αŸ” αž–αžΈαž˜αž»αž“ αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž‘αžΆαž‰αžŽαžΆαž˜αž½αž™αž“αžΉαž„αžαŸ‚αž„αžαŸ‚αž•αŸ’αž‰αžΎαž’αžαž·αžαž·αž‡αž“αž“αžΌαžœαž”αž‰αŸ’αž‡αžΈαž―αž€αžŸαžΆαžšαž™αŸ„αž„αž–αŸαž‰αž›αŸαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αž‘αžΆαŸ†αž„αž˜αžΌαž› αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž’αžαž·αžαž·αž‡αž“αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžŸαžΆαžαžΆαžαŸ‚αž˜αž½αž™ αž¬αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžαžΆαž…αŸ’αž”αžΆαž”αŸ‹αž…αž˜αŸ’αž›αž„αž“αŸƒαžƒαŸ’αž›αžΆαŸ†αž„αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαž‘αžΆαž“αŸ‹αžŸαž˜αŸαž™αž€αŸαžŠαŸ„αž™αŸ” αž€αžΆαžšαž…αŸ’αž“αŸƒαž”αŸ’αžšαžŒαž·αžαž‚αž½αžšαž±αŸ’αž™αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž˜αž½αž™αž‘αŸ€αžαž‚αžΊαžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αžαŸ’αžαž—αžΆαž–αžαŸ’αž˜αžΈαž‘αŸ…αž€αŸ’αž“αž»αž„αž–αž·αž’αžΈαž€αžΆαžš αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž˜αž»αžαž„αžΆαžšαžαŸ’αž˜αžΈαž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž’αž”αŸ‹αž§αž”αž€αžšαžŽαŸαŸ” αž€αžΌαžŠαž’αžαž·αžαž·αž‡αž“αž“αŸ…αžαŸ‚αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž–αž·αž’αžΈαž€αžΆαžšαž…αžΆαžŸαŸ‹ αž αžΎαž™αž’αžΆαž…αž”αž“αŸ’αžαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž‘αžΆαŸ†αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžαŸ’αž˜αžΈ αž“αž·αž„αž…αžΆαžŸαŸ‹ αžŠαŸ„αž™αž’αŸ’αž›αžΆαž€αŸ‹αžαŸ’αžšαž›αž”αŸ‹αž‘αŸ…αž€αŸ†αžŽαŸ‚αž‘αžΈαž˜αž½αž™αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž˜αž·αž“αž‚αžΆαŸ†αž‘αŸ’αžšαž‘αžΈαž–αžΈαžšαŸ”
  • αž‡αž˜αŸ’αžšαžΎαžŸ "-show-scope" αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ…αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ "git config" αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αŸ” Git αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž€αŸ†αžŽαžαŸ‹αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž“αŸ…αž€αž“αŸ’αž›αŸ‚αž„αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαŸ– αž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„ (.git/info/config) αž“αŸ…αž€αŸ’αž“αž»αž„αžαžαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ (~/.gitconfig) αž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‘αžΌαž‘αžΆαŸ†αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’ (/etc/gitconfig) αž“αž·αž„αžαžΆαž˜αžšαž™αŸˆαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ αž‡αž˜αŸ’αžšαžΎαžŸαž”αž“αŸ’αž‘αžΆαžαŸ‹ αž“αž·αž„αž’αžαŸαžšαž”αžšαž·αžŸαŸ’αžαžΆαž“αŸ” αž“αŸ…αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš "git config" αžœαžΆαž–αž·αžαž‡αžΆαž›αŸ†αž”αžΆαž€αžŽαžΆαžŸαŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž™αž›αŸ‹αž–αžΈαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžŠαŸ‚αž›αž…αž„αŸ‹αž”αžΆαž“αž–αž·αžαž”αŸ’αžšαžΆαž€αžŠαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž“αŸαŸ‡ αž‡αž˜αŸ’αžšαžΎαžŸ "--show-origin" αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž”αž„αŸ’αž αžΆαž‰αžαŸ‚αž•αŸ’αž›αžΌαžœαž‘αŸ…αž€αžΆαž“αŸ‹αž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹ αžŠαŸ‚αž›αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αžΆαž“αž”αŸ†αžŽαž„αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž―αž€αžŸαžΆαžš αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αž·αž“αž’αžΆαž…αž‡αž½αž™αž”αžΆαž“αž‘αŸ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€ αžαŸ’αžšαžΌαžœαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžαž˜αŸ’αž›αŸƒαžαžΆαž˜αžšαž™αŸˆ "git config" αžŠαŸ„αž™αž”αŸ’αžšαžΎαž‡αž˜αŸ’αžšαžΎαžŸ "--system", "--global" ឬ "-local" αŸ” αž‡αž˜αŸ’αžšαžΎαžŸαžαŸ’αž˜αžΈ "--show-scope" αž”αž„αŸ’αž αžΆαž‰αž”αžšαž·αž”αž‘αž“αž·αž™αž˜αž“αŸαž™αž’αžαŸαžš αž“αž·αž„αž’αžΆαž…αž”αŸ’αžšαžΎαžŠαŸ„αž™αž—αŸ’αž‡αžΆαž”αŸ‹αž‡αžΆαž˜αž½αž™ -show-originαŸ–

    $ git --list --show-scope --show-origin
    αž―αž€αžŸαžΆαžšαžŸαž€αž›:/home/user/.gitconfig diff.interhunkcontext=1
    αž―αž€αžŸαžΆαžšαžŸαž€αž›αŸ–/home/user/.gitconfig push.default=current
    […] local file:.git/config branch.master.remote=origin
    αž―αž€αžŸαžΆαžšαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αŸ–.git/config branch.master.merge=refs/heads/master

    $ git config --show-scope --get-regexp 'diff.*'
    global diff.statgraphwidth ៣αŸ₯
    local diff.colormoved αž’αž˜αŸ’αž˜αžαžΆαŸ”

    $ git config --global --unset diff.statgraphwidth

  • αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž€αžΆαžšαž…αž„ αž›αž·αžαž·αžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹ αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžšαž”αžΆαŸ†αž„αž“αŸ…αž€αŸ’αž“αž»αž„ URLs αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αž‰αŸ’αž‰αžΆαžαŸ” αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹ HTTP αž“αž·αž„αž›αž·αžαž·αžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžŽαžΆαž˜αž½αž™αž“αŸ…αž€αŸ’αž“αž»αž„ Git αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž‘αžΆαŸ†αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹ (http.extraHeader, credential.helper) αž“αž·αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž›αžΎ URL (credential.https://example.com.helper, credential.https://example. com.helper) αŸ” αžšαž αžΌαžαž˜αž€αžŠαž›αŸ‹αž–αŸαž›αž“αŸαŸ‡ αž’αž€αŸ’αžŸαžšαž‡αŸ†αž“αž½αžŸαžŠαžΌαž…αž‡αžΆ *.example.com αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αž‰αŸ’αž‰αžΆαžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ‚αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹ HTTP αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž‘αŸαŸ” αž“αŸ…αž€αŸ’αž“αž»αž„ Git 2.26 αž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαž‘αžΆαŸ†αž„αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αž»αž”αž…αŸ„αž› αž αžΎαž™αž§αž‘αžΆαž αžšαžŽαŸ αžŠαžΎαž˜αŸ’αž”αžΈαž—αŸ’αž‡αžΆαž”αŸ‹αžˆαŸ’αž˜αŸ„αŸ‡αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‘αŸ…αž€αžΆαž“αŸ‹αžŠαŸ‚αž“αžšαž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹ αž₯αž‘αžΌαžœαž“αŸαŸ‡αž’αŸ’αž“αž€αž’αžΆαž…αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž”αžΆαž“αŸ–

    [αž›αž·αžαž·αžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹ "https://*.example.com"]

    αžˆαŸ’αž˜αŸ„αŸ‡αž’αŸ’αž“αž€αž”αŸ’αžšαžΎ = taylorr

  • αž€αžΆαžšαž–αž„αŸ’αžšαžΈαž€αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαž–αž·αžŸαŸ„αž’αž“αŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž€αŸ’αž›αžΌαž“αžŠαŸ„αž™αž•αŸ’αž“αŸ‚αž€ (αž€αŸ’αž›αžΌαž“αžŠαŸ„αž™αž•αŸ’αž“αŸ‚αž€) αž”αž“αŸ’αžαžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž•αŸ’αž‘αŸαžšαžαŸ‚αž•αŸ’αž“αŸ‚αž€αž“αŸƒαž‘αž·αž“αŸ’αž“αž“αŸαž™ αž“αž·αž„αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž…αŸ’αž”αžΆαž”αŸ‹αž…αž˜αŸ’αž›αž„αž˜αž·αž“αž–αŸαž‰αž›αŸαž‰αž“αŸƒαžƒαŸ’αž›αžΆαŸ†αž„αŸ” αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžαŸ’αž˜αžΈαž“αŸαŸ‡αž”αž“αŸ’αžαŸ‚αž˜αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžαŸ’αž˜αžΈ "git sparse-checkout add" αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αž“αŸ’αžαŸ‚αž˜αžαžαž”αž»αž‚αŸ’αž‚αž›αžŠαžΎαž˜αŸ’αž”αžΈαž’αž“αž»αžœαžαŸ’αžαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš "αž–αž·αž“αž·αžαŸ’αž™αž…αŸαž‰" αž‘αŸ…αžαŸ‚αž•αŸ’αž“αŸ‚αž€αž“αŸƒαž˜αŸ‚αž€αž’αžΆαž„αž’αŸ’αžœαžΎαž€αžΆαžš αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αž€αžΆαžšαžšαžΆαž™αž”αž‰αŸ’αž‡αžΈαžαžαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž€αŸ’αž“αž»αž„αž–αŸαž›αžαŸ‚αž˜αž½αž™αžαžΆαž˜αžšαž™αŸˆαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ "git sparse-checkout set" (αž’αŸ’αž“αž€β€‹αž’αžΆαž…β€‹αž”αž“αŸ’αžαŸ‚αž˜β€‹αž˜αž½αž™β€‹αžŠαŸ„αž™β€‹αž˜αž½αž™β€‹αžαžβ€‹αžŠαŸ„αž™β€‹αž˜αž·αž“β€‹αž”αž‰αŸ’αž‡αžΆαž€αŸ‹β€‹αž‘αžΎαž„αžœαž·αž‰β€‹αž“αžΌαžœβ€‹αž”αž‰αŸ’αž‡αžΈβ€‹αž‘αžΆαŸ†αž„αž˜αžΌαž›β€‹αžšαžΆαž›αŸ‹β€‹αž–αŸαž›β€‹) αŸ”
    αž§αž‘αžΆαž αžšαžŽαŸ αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ’αž›αžΌαž“ git/git repository αžŠαŸ„αž™αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž’αŸ’αžœαžΎαž€αžΆαžš blobs αž€αŸ†αžŽαžαŸ‹αž€αžΆαžš checkout αžαŸ’αžšαžΉαž˜αžαŸ‚ root directory αž“αŸƒαž…αŸ’αž”αžΆαž”αŸ‹αž…αž˜αŸ’αž›αž„αž€αžΆαžšαž„αžΆαžš αž αžΎαž™αž€αžΆαžšαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹ checkout αžŠαŸ„αž™αž‘αŸ‚αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ directory "t" αž“αž·αž„ "documentation" αž’αŸ’αž“αž€αž’αžΆαž…αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αŸ–

    $ git clone --filter=blob:none --sparse [αž’αŸŠαžΈαž˜αŸ‚αž›αž€αžΆαžšαž–αžΆαžš]: git/git.git

    $ cd git
    $ git sparse-checkout init --cone

    $ git sparse-checkout αž”αž“αŸ’αžαŸ‚αž˜ t
    ... αŸ”
    $ git sparse-checkout αž”αž“αŸ’αžαŸ‚αž˜αž―αž€αžŸαžΆαžš
    ... αŸ”
    $ git sparse-checkout list
    αž―αž€αžŸαžΆαžš
    t

  • αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž“αŸƒαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ "git grep" αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαžŸαŸ’αžœαŸ‚αž„αžšαž€αž‘αžΆαŸ†αž„αž˜αžΆαžαž·αž€αžΆαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž“αŸƒαžƒαŸ’αž›αžΆαŸ†αž„ αž“αž·αž„αž€αžΆαžšαž€αŸ‚αž”αŸ’αžšαŸ‚αž”αŸ’αžšαžœαžαŸ’αžαž·αžŸαžΆαžŸαŸ’αžšαŸ’αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž™αŸ‰αžΆαž„αžαŸ’αž›αžΆαŸ†αž„αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž€αžΆαžšαžŸαŸ’αžœαŸ‚αž„αžšαž€ αžœαžΆαž’αžΆαž…αžŸαŸ’αž€αŸαž“αž˜αžΆαžαž·αž€αžΆαž“αŸƒαž˜αŸ‚αž€αž’αžΆαž„αž’αŸ’αžœαžΎαž€αžΆαžšαžŠαŸ„αž™αž”αŸ’αžšαžΎαžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™αž…αŸ’αžšαžΎαž“ ("git grep -threads") αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αžΆαžšαžŸαŸ’αžœαŸ‚αž„αžšαž€αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ‚αž”αŸ’αžšαŸ‚αž”αŸ’αžšαžœαžαŸ’αžαž·αžŸαžΆαžŸαŸ’αžšαŸ’αžαž‚αžΊαžαŸ‚αž˜αž½αž™αžαŸ’αžŸαŸ‚αŸ” αž₯αž‘αžΌαžœαž“αŸαŸ‡αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαž€αž…αŸαž‰αžŠαŸ„αž™αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž”αŸ‰αžΆαžšαŸ‰αžΆαž‘αŸ‚αž›αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž’αžΆαž“αž–αžΈαž€αž“αŸ’αž›αŸ‚αž„αž•αŸ’αž‘αž»αž€αžœαžαŸ’αžαž»αŸ” αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ αž…αŸ†αž“αž½αž“αž“αŸƒαžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžŸαŸ’αž˜αžΎαž“αžΉαž„αž…αŸ†αž“αž½αž“αžŸαŸ’αž“αžΌαž›αžŸαŸŠαžΈαž—αžΈαž™αžΌ αžŠαŸ‚αž›αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž₯αž‘αžΌαžœαž“αŸαŸ‡αž˜αž·αž“αžαž˜αŸ’αžšαžΌαžœαž±αŸ’αž™αž€αŸ†αžŽαžαŸ‹αž‡αž˜αŸ’αžšαžΎαžŸ "-threads" αž…αŸ’αž”αžΆαžŸαŸ‹αž›αžΆαžŸαŸ‹αž“αŸ„αŸ‡αž‘αŸαŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ†αž–αŸαž‰αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž“αŸƒαž€αžΆαžšαž”αž‰αŸ’αž…αžΌαž›αž“αŸƒαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžšαž„ αž•αŸ’αž›αžΌαžœ αžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹ αž“αž·αž„αž’αžΆαž‚αž»αž™αž˜αŸ‰αž„αŸ‹αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž“αŸƒαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ "git worktree" αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž…αŸ’αž”αžΆαž”αŸ‹αž…αž˜αŸ’αž›αž„αž€αžΆαžšαž„αžΆαžšαž‡αžΆαž…αŸ’αžšαžΎαž“αž“αŸƒαžƒαŸ’αž›αžΆαŸ†αž„αŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αžŽαŸŒαž—αŸ’αž›αžΊαžŠαŸ‚αž›αž˜αžΆαž“αž›αŸ†αžŠαžΆαž”αŸ‹αž‚αŸαž…αž–αžΈ ANSI αŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αžŽαŸŒαž”αž“αŸ’αž›αž·αž… β€œgit config –color” ឬ β€œgit diff –color-moved” αž’αŸ’αž“αž€αž’αžΆαž…αž”αž‰αŸ’αž‡αžΆαž€αŸ‹ β€œ%C(brightblue)” αžαžΆαž˜αžšαž™αŸˆαž‡αž˜αŸ’αžšαžΎαžŸ β€œ--format” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αžŽαŸŒαžαŸ€αžœαž—αŸ’αž›αžΊαŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αŸ†αžŽαŸ‚αžαŸ’αž˜αžΈαž“αŸƒαžŸαŸ’αž‚αŸ’αžšαžΈαž” fsmonitor-αž’αŸ’αž“αž€αžƒαŸ’αž›αžΆαŸ†αž˜αžΎαž›αž•αŸ’αžαž›αŸ‹αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‡αžΆαž˜αž½αž™αž™αž“αŸ’αžαž€αžΆαžš Facebook Watchman αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αžαžΆαž˜αžŠαžΆαž“αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž―αž€αžŸαžΆαžš αž“αž·αž„αžšαžΌαž”αžšαžΆαž„αž“αŸƒαž―αž€αžŸαžΆαžšαžαŸ’αž˜αžΈαŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž’αžΆαž”αŸ‹αžŠαŸαž git αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αžΆαž˜αž‘αžΆαžš αž‡αŸ†αž“αž½αžŸ αž‘αŸ†αž–αž€αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž€αžΆαžšαž€αŸ’αž›αžΌαž“αžŠαŸ„αž™αž•αŸ’αž“αŸ‚αž€αž“αŸ…αž–αŸαž›αž”αŸ’αžšαžΎαž•αŸ‚αž“αž‘αžΈαž”αŸŠαžΈαž
    (αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž”αŸŠαžΈαž) αžŠαžΎαž˜αŸ’αž”αžΈαž‡αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαžŸαŸ’αžœαŸ‚αž„αžšαž€αž–αŸαž‰αž›αŸαž‰αž“αŸƒαžœαžαŸ’αžαž»αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž–αŸαž›αžαŸ’αžšαž„αž›αž‘αŸ’αž’αž•αž›αŸ” αž€αžΆαžšβ€‹αž–αž·αž“αž·αžαŸ’αž™β€‹αž˜αžΎαž› blobs (β€”filter=blob:none αž“αž·αž„ β€”filter=blob:limit=n) αž€αŸ†αž‘αž»αž„β€‹αž–αŸαž›β€‹αž€αžΆαžšβ€‹αž€αŸ’αž›αžΌαž“β€‹αž•αŸ’αž“αŸ‚αž€β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž’αž“αž»αžœαžαŸ’αž
    αž›αžΏαž“αž‡αžΆαž„αž˜αž»αž“αž‚αž½αžšαž±αŸ’αž™αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αŸ” GitHub αž”αžΆαž“αž”αŸ’αžšαž€αžΆαžŸαž”αŸ†αžŽαŸ‡αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‘αžΆαŸ†αž„αž“αŸαŸ‡ αž“αž·αž„αž‡αŸ†αž“αž½αž™αž€αžΆαžšαž–αž·αžŸαŸ„αž’αž“αŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž€αŸ’αž›αžΌαž“αžŠαŸ„αž™αž•αŸ’αž“αŸ‚αž€αŸ”

  • αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ "git rebase" αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž‘αŸ…αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž™αž•αŸ’αžŸαŸαž„ αžŠαŸ„αž™αž”αŸ’αžšαžΎαž™αž“αŸ’αžαž€αžΆαžš 'αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ' αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ (αž–αžΈαž˜αž»αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ "rebase -i") αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™ 'patch+apply' αŸ” αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž™αžαž»αžŸαž‚αŸ’αž“αžΆαžαžΆαž˜αžœαž·αž’αžΈαžαžΌαž…αŸ—αž˜αž½αž™αž…αŸ†αž“αž½αž“ αž§αž‘αžΆαž αžšαžŽαŸ αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž”αž“αŸ’αžαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž‡αž˜αŸ’αž›αŸ„αŸ‡αž˜αž½αž™ (git rebase --continue) αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαžΆαž„αž€αŸ’αžšαŸ„αž™αžαŸ’αž˜αžΈαž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αžŸαžΆαžšαžŠαŸ‚αž›αž”αžΆαž“αž”αŸ’αžšαž–αŸ’αžšαžΉαžαŸ’αž αžαžŽαŸˆαžŠαŸ‚αž›αžŸαžΆαžšαž…αžΆαžŸαŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž”αŸ’αžšαžΎαžŸαžΆαžšαž…αžΆαžŸαŸ‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαžαŸ’αžšαž›αž”αŸ‹αž‘αŸ…αž₯αžšαž·αž™αžΆαž”αžαž…αžΆαžŸαŸ‹ αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎαž‡αž˜αŸ’αžšαžΎαžŸ "--apply" αž¬αž€αŸ†αžŽαžαŸ‹αž’αžαŸαžšαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ 'rebase.backend' αž‘αŸ… 'apply' αŸ”
  • αž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžαžΆαž˜αžšαž™αŸˆ .netrc αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž‘αŸ…αž‡αžΆαž‘αž˜αŸ’αžšαž„αŸ‹αžŠαŸ‚αž›αžŸαž˜αžšαž˜αŸ’αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αŸ’αžšαŸ…αž”αŸ’αžšαž’αž”αŸ‹αŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹ gpg.minTrustLevel αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αž€αž˜αŸ’αžšαž·αžαž‘αž»αž€αž…αž·αžαŸ’αžαž’αž”αŸ’αž”αž”αžšαž˜αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αžΆαžαž»αž•αŸ’αžŸαŸαž„αŸ—αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž αžαŸ’αžαž›αŸαžαžΆαžŒαžΈαž‡αžΈαžαž›αŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‡αž˜αŸ’αžšαžΎαžŸ "--pathspec-from-file" αž‘αŸ… "git rm" αž“αž·αž„ "git stash" αŸ”
  • αž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αžˆαž»αžαžŸαžΆαž€αž›αŸ’αž”αž„αž”αžΆαž“αž”αž“αŸ’αžαž€αŸ’αž“αž»αž„αž€αžΆαžšαžšαŸ€αž”αž…αŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αŸ…αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž€αžΆαžšαž”αŸ†αž”αŸ‚αž€ SHA-2 αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™ SHA-1 αŸ”

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

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