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

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

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

  • αž›αž‘αŸ’αž’αž—αžΆαž–αž“αŸƒαž€αžΆαžšαž€αŸ’αž›αžΌαž“αžŠαŸ„αž™αž•αŸ’αž“αŸ‚αž€αž€αŸ†αž–αž»αž„αžαž·αžαž‡αž·αžαžŸαŸ’αžαŸαžšαž—αžΆαž– αž“αž·αž„αž€αžΆαžšαžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“αž–αŸαž‰αž›αŸαž‰ αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž•αŸ’αž‘αŸαžšαžαŸ‚αž•αŸ’αž“αŸ‚αž€αž“αŸƒαž‘αž·αž“αŸ’αž“αž“αŸαž™ αž“αž·αž„αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž…αŸ’αž”αžΆαž”αŸ‹αž…αž˜αŸ’αž›αž„αž˜αž·αž“αž–αŸαž‰αž›αŸαž‰αž“αŸƒαžƒαŸ’αž›αžΆαŸ†αž„αŸ” αž€αŸ’αž›αžΌαž“αž’αž˜αŸ’αž˜αžαžΆαž…αž˜αŸ’αž›αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž–αžΈαžƒαŸ’αž›αžΆαŸ†αž„ αžšαž½αž˜αž‘αžΆαŸ†αž„αž‚αŸ’αžšαž”αŸ‹αž€αŸ†αžŽαŸ‚αž“αŸƒαž―αž€αžŸαžΆαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαžœαžαŸ’αžαž·αž“αŸƒαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžƒαŸ’αž›αžΆαŸ†αž„αž’αŸ†αžαŸ’αž›αžΆαŸ†αž„ αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αžΆαŸ†αž²αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαž€αžΎαž“αž‘αžΎαž„αž‚αž½αžšαž±αŸ’αž™αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž“αŸƒαž…αžšαžΆαž…αžšαžŽαŸ αž“αž·αž„αž‘αŸ†αž αŸ†αžαžΆαžŸ αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžαŸ‚αž›αžΎαžŸαŸ†αžŽαž»αŸ†αžšαž„αž“αŸƒαž―αž€αžŸαžΆαžšαž€αŸαžŠαŸ„αž™αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž‘αžΆαž‰αž™αž€αžαŸ‚αž•αŸ’αž“αŸ‚αž€αž“αŸƒαž˜αŸ‚αž€αž’αžΆαž„αž”αŸ’αžšαž—αž–αž€αžΆαžšαž„αžΆαžš αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžαŸ’αž˜αžΈαžŽαŸ‚αž“αžΆαŸ†αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ "sparse-checkout" αž–αž·αžŸαŸ„αž’αž“αŸ αž“αž·αž„αž‡αž˜αŸ’αžšαžΎαžŸ "--sparse" αžαŸ’αž˜αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ "clone" αŸ”

    αž–αžΈαž˜αž»αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸ’αž›αžΌαž“αžŠαŸ‚αž›αž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžαžΆαž˜αžšαž™αŸˆαž—αžΆαžšαž€αž·αž…αŸ’αž… αžαž˜αŸ’αžšαž„ αžŠαžΎαž˜αŸ’αž”αžΈαžαŸ’αžšαž„αž˜αžΆαžαž·αž€αžΆαžŠαŸ‚αž›αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹ αž“αž·αž„αž‡αž˜αŸ’αžšαžΎαžŸ β€œβ€”αž‚αŸ’αž˜αžΆαž“αž€αžΆαžšαžŠαž€αž”αŸ’αžšαžΆαž€αŸ‹β€ αžŠαžΎαž˜αŸ’αž”αžΈαž”αž·αž‘αž€αžΆαžšαž”αŸ†αž–αŸαž‰αž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž”αžΆαžαŸ‹αŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž“αŸ„αŸ‡ αž˜αž»αž“αž–αŸαž›αž’αž“αž»αžœαžαŸ’αžαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž…αŸαž‰ αžœαžΆαž…αžΆαŸ†αž”αžΆαž…αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αžΎαž€αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹ core.sparseCheckout αž“αž·αž„αž€αŸ†αžŽαžαŸ‹αž”αž‰αŸ’αž‡αžΈαž“αŸƒαž›αŸ†αž“αžΆαŸ†αž•αŸ’αž›αžΌαžœαžŠαŸ‚αž›αž˜αž·αž“αžšαžΆαž”αŸ‹αž”αž‰αŸ’αž…αžΌαž›αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžš .git/info/sparse-checkout αŸ” αž§αž‘αžΆαž αžšαžŽαŸ αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ’αž›αžΌαž“αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž”αŸ’αž›αž»αž€ αž“αž·αž„αž€αžΆαžšαž–αžΆαžšαž―αž€αžŸαžΆαžšαž–αžΈαž€αžΆαžšαžŸαŸ’αžšαž„αŸ‹αž…αŸαž‰αž–αžΈαžαžαžšαž„αž“αŸƒαž‡αž˜αŸ’αžšαŸ… 2 αž¬αž…αŸ’αžšαžΎαž“αž‡αžΆαž„αž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ–

    git clone --filter=blob:none --no-checkout /your/repository/here repo
    $cd repo
    $ cat >.git/info/sparse-checkout <EOF
    /*
    !/*
    EOF
    $ git config core.sparseCheckout ៑
    $ git checkout αŸ”

    αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ "git sparse-checkout" αžαŸ’αž˜αžΈαž‡αž½αž™αžŸαž˜αŸ’αžšαž½αž›αž€αžΆαžšαž„αžΆαžšαž™αŸ‰αžΆαž„αžαŸ’αž›αžΆαŸ†αž„ αž“αž·αž„αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸƒαž€αžΆαžšαžšαŸ€αž”αž…αŸ†αž€αžΆαžšαž„αžΆαžšαž‡αžΆαž˜αž½αž™αž“αžΉαž„αžƒαŸ’αž›αžΆαŸ†αž„αž˜αž·αž“αž–αŸαž‰αž›αŸαž‰αž‘αŸ…αž“αžΉαž„αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

    git clone --filter=blob:none --sparse /your/repository/here repo
    git sparse-checkout set /path/to/check/out

    αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ sparse-checkout αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž€αŸ†αžŽαžαŸ‹αž”αž‰αŸ’αž‡αžΈαž•αŸ’αž›αžΌαžœαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αž„αŸ‹αž”αŸ’αžšαžΆαž€αŸ‹αž…αŸαž‰ (αž€αŸ†αžŽαžαŸ‹) αžŠαŸ„αž™αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ .git/info/sparse-checkout αžŠαŸ„αž™αžŠαŸƒ αž€αŸαžŠαžΌαž…αž‡αžΆαž”αž„αŸ’αž αžΆαž‰αž”αž‰αŸ’αž‡αžΈαž•αŸ’αž›αžΌαžœαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ (αž”αž‰αŸ’αž‡αžΈ) αž“αž·αž„αž”αžΎαž€ αž¬αž”αž·αž‘αž€αžΆαžšαž…αŸαž‰αž‡αžΆαž•αŸ’αž“αŸ‚αž€ (αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš / αž”αž·αž‘) αŸ”

    αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž€αžΆαžšαž„αžΆαžšαž‡αžΆαž˜αž½αž™αžƒαŸ’αž›αžΆαŸ†αž„αžŠαŸαž’αŸ†αž”αŸ†αž•αž»αž αž“αž·αž„αž”αž‰αŸ’αž‡αžΈαž‚αŸ†αžšαžΌ "git config core.sparseCheckoutCone" αžŠαŸ‚αž›αž€αŸ†αžŽαžαŸ‹αž›αŸ†αž“αžΆαŸ†αžŠαŸ‚αž›αž”αžΆαž“αž’αž“αž»αž‰αŸ’αž‰αžΆαž (αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αž›αŸ†αž“αžΆαŸ† .gitignore αžαžΆαž˜αž’αŸ†αž–αžΎαž…αž·αžαŸ’αž αž’αŸ’αž“αž€αž’αžΆαž…αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžαžΆαžαžΎαž•αŸ’αž›αžΌαžœαž‘αžΆαŸ†αž„αž’αžŸαŸ‹ αž“αž·αž„αž―αž€αžŸαžΆαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αžαžαžšαž„αžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž‚αž½αžšαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž·αž“αž·αžαŸ’αž™αž¬αž’αžαŸ‹)αŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžƒαŸ’αž›αžΆαŸ†αž„αž’αŸ†αž˜αžΆαž“αžαž β€œA/B/C” αž αžΎαž™αž€αžΆαžšαž„αžΆαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαž˜αžΌαž›αž•αŸ’αžαž»αŸ†αž“αŸ…αž€αŸ’αž“αž»αž„αžαžαžšαž„ β€œC” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž“αŸ…αž–αŸαž›αž’αŸ’αž“αž€αž”αžΎαž€αžšαž”αŸ€αž” sparseCheckoutCone αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ β€œgit sparse-checkout set A/B/ C" αž“αžΉαž„αžŸαŸ’αžšαž„αŸ‹αž˜αžΆαžαž·αž€αžΆαž‘αžΆαŸ†αž„αž˜αžΌαž›αž“αŸƒ "C" αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž–αžΈ "A" αž“αž·αž„ "B" αžœαžΆαž“αžΉαž„αžŠαž€αžŸαŸ’αžšαž„αŸ‹αžαŸ‚αž•αŸ’αž“αŸ‚αž€αžŠαŸ‚αž›αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™ "C" αŸ”

  • αž–αžΈαž―αž€αžŸαžΆαžš ("git rebase -h") αžŸαŸαž…αž€αŸ’αžαžΈαž™αŸ„αž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž…αŸ†αž–αŸ„αŸ‡αž‡αž˜αŸ’αžšαžΎαžŸ "--preserve-merges" αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαž€αž…αŸαž‰ αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžŠαž·αžŸαŸαž’ αž αžΎαž™αž‚αž½αžšαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž‡αŸ†αž“αž½αžŸαžœαž·αž‰ αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŸαŸ†αžŽαž»αŸ†αž“αŸƒαž€αžΆαžšαž”αŸ’αžšαž–αŸ’αžšαžΉαžαŸ’αžαŸ”git rebase --rebase-merges"αŸ”
  • αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ‚αž›αž˜αŸ’αž’αž€αžΆαžšαž’αžΆαž“αžŸαžΆαžšαžŠαŸ‚αž›αž˜αžΆαž“αž”αŸ†αžŽαŸ‡αžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αž‰αžΎαž‘αŸ…αž€αžΆαž“αŸ‹αž”αž‰αŸ’αž‡αžΈαžŸαŸ†αž”αž»αžαŸ’αžšαžšαž½αž˜ αž‡αž˜αŸ’αžšαžΎαžŸ "git format-patch β€”cover-from-description subject" αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜ αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹ αž€αžαžΆαžαžŽαŸ’αžŒαž‘αžΈαž˜αž½αž™αž–αžΈαž’αžαŸ’αžαž”αž‘αž–αž·αž–αžŽαŸŒαž“αžΆαžŸαžΆαžαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž‡αžΆαž”αŸ’αžšαž’αžΆαž“αž”αž‘αž“αŸƒ αž›αž·αžαž·αžαž‚αž˜αŸ’αžšαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ†αžŽαž»αŸ†αž“αŸƒαž”αŸ†αžŽαŸ‡αŸ”
  • αž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžšαž½αž˜αž‚αŸ’αž“αžΆαž“αŸƒαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ "git apply -3way" αž“αž·αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹ "merge.conflictStyle" ("git apply" αž₯αž‘αžΌαžœαž“αŸαŸ‡αž‚αž·αžαž‚αžΌαžšαž’αŸ†αž–αžΈαžšαž…αž“αžΆαž”αŸαž‘αŸ’αž˜αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαž‡αž˜αŸ’αž›αŸ„αŸ‡αž–αžΈ merge.conflictStyle αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αžœαžΆαž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž‡αž˜αŸ’αž›αŸ„αŸ‡αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž–αŸ’αž™αžΆαž™αžΆαž˜ αžŠαžΎαž˜αŸ’αž”αžΈαž’αž“αž»αžœαžαŸ’αžαž―αž€αžŸαžΆαžšαž”αŸ†αžŽαŸ‡αž‘αŸ…αžƒαŸ’αž›αžΆαŸ†αž„) αŸ”
  • αž€αžΌαžŠαž“αž·αž™αž˜αž“αŸαž™αž˜αž»αžαž„αžΆαžšαžŠαŸ‚αž›αž”αŸ’αžšαžΎαž€αŸ’αž“αž»αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαžΌαž…αž‡αžΆ "git diff/grep --show-function/-function-context" αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž„αŸ’αžšαžΈαž€αžŠαžΎαž˜αŸ’αž”αžΈαž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž–αŸ’αžšαŸ†αžŠαŸ‚αž“αž˜αž»αžαž„αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž—αžΆαžŸαžΆαŸ” elixir.
  • αž‡αž˜αŸ’αžšαžΎαžŸαžαŸ’αž˜αžΈαž˜αž½αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ… "git add", "git commit", "git reset" αž“αž·αž„αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž•αŸ’αžŸαŸαž„αž‘αŸ€αž - "-pathspec-from-file" αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž’αžΆαž…αž•αŸ’αž‘αž»αž€αž”αž‰αŸ’αž‡αžΈαž•αŸ’αž›αžΌαžœαž–αžΈαž―αž€αžŸαžΆαžš αž¬αž”αž‰αŸ’αž…αžΌαž›αžŸαŸ’αž‘αŸ’αžšαžΈαž˜ αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αž€αžΆαžšαžšαžΆαž™αž”αž‰αŸ’αž‡αžΈαž–αž½αž€αžœαžΆαž“αŸ…αž›αžΎαž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαŸ”
  • αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αž€αžΆαžšαžšαž€αžƒαžΎαž‰αž€αžΆαžšαž”αŸ’αžαžΌαžšαžˆαŸ’αž˜αŸ„αŸ‡αž“αŸ…αž€αž˜αŸ’αžšαž·αžαžαžαž“αŸ…αž–αŸαž›αžŸαžšαžŸαŸαžšαž€αžΆαžšαž”αŸ’αžαŸαž‡αŸ’αž‰αžΆαž…αž·αžαŸ’αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αŸ” αž“αž·αž™αž˜αž“αŸαž™αž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αžΆαžαž·αž€αžΆαž“αŸƒαžαžαžšαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž‘αŸ…αž«αžŸαž“αŸƒαžƒαŸ’αž›αžΆαŸ†αž„αŸ”
  • αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžŠαŸ†αž”αžΌαž„αž“αŸƒαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ "git add -i" αžŠαŸ‚αž›αž”αžΆαž“αžšαž…αž“αžΆαž‘αžΎαž„αžœαž·αž‰αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαŸ’αž“αžΎαž‘αžΎαž„ αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αž“αŸ’αžαŸ‚αž˜αž˜αžΆαžαž·αž€αžΆαžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŠαŸ„αž™αž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜ αžŸαžšαžŸαŸαžšαž‘αžΎαž„αžœαž·αž‰αž–αžΈ Perl αž‘αŸ… C αŸ” αž€αžΆαžšαž„αžΆαžšαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž“αŸƒαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ "git add -p" αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ”
  • αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ "git log -graph" αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αž½αžŸαž‡αž»αž›αž‘αžΎαž„αžœαž·αž‰ αžŠαŸ„αž™αž”αž„αŸ’αž€αžΎαžαžšαžΌαž”αž—αžΆαž– ASCII αž“αŸƒαž€αŸ’αžšαžΆαž αŸ’αžœαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αŸ’αžšαžœαžαŸ’αžαž·αž“αŸƒαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αŸ” αž€αžΆαžšαž„αžΆαžšαž‘αžΎαž„αžœαž·αž‰αž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ‚αž›αž˜αŸ’αž’αž™αŸ‰αžΆαž„αžŸαŸ†αžαžΆαž“αŸ‹ αž“αž·αž„αžŸαž˜αŸ’αžšαž½αž›αž›αž‘αŸ’αž’αž•αž›αžŠαŸ„αž™αž˜αž·αž“αž”αž„αŸ’αžαžΌαž…αž‘αŸ’αžšαž„αŸ‹αž‘αŸ’αžšαžΆαž™αž“αŸƒαžšαžΏαž„ αžŠαŸ‚αž›αž§αž‘αžΆαž αžšαžŽαŸ αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αžšαžΌαž”αž—αžΆαž–αžŠαŸ‚αž›αž›αžΆαžαžŸαž“αŸ’αž’αžΉαž„αž αž½αžŸαž–αžΈαž‘αž‘αžΉαž„αž”αž“αŸ’αž‘αžΆαžαŸ‹αžŸαŸ’αžαžΆαž“αžΈαž™αŸ”
  • αž‡αž˜αŸ’αžšαžΎαžŸ "git log --format=.." αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αŸ’αžšαž„αŸ‹αž‘αŸ’αžšαžΆαž™αž›αž‘αŸ’αž’αž•αž›αŸ”
    αž–αž„αŸ’αžšαžΈαž€αžŠαŸ„αž™αž˜αžΆαž“αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αž„αŸ‹ β€œl/L” αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž αžΆαž‰αžαŸ‚αž•αŸ’αž“αŸ‚αž€αž“αŸƒαž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αž’αŸŠαžΈαž˜αŸ‚αž›αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž–αžΈαž˜αž»αžαž“αž·αž˜αž·αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆ β€œ@” (αž§αž‘αžΆαž αžšαžŽαŸ αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž“αŸ…αž–αŸαž›αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž˜αžΆαž“αž’αŸŠαžΈαž˜αŸ‚αž›αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αžŠαŸ‚αž“αžαŸ‚αž˜αž½αž™)αŸ”

  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžšαž„ "set-url" αž‘αŸ…αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ "git submodule" αŸ”
  • αž§αž”αž€αžšαžŽαŸαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαžšαŸ€αž”αž…αŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αŸ…
    αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™ hashing SHA-2 αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™ SHA-1 αŸ”

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

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