เบเบฒเบ™เบ›เปˆเบญเบเบฅเบฐเบšเบปเบšเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเปเบซเบผเปˆเบ‡เปเบˆเบเบขเบฒเบ Git 2.25

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

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

  • เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™ cloning เบšเบฒเบ‡เบชเปˆเบงเบ™เปเบกเปˆเบ™เปƒเบเป‰เบเบฑเบšเบชเบฐเบ–เบฝเบ™เบฅเบฐเบžเบฒเบšเปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆ, เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป‚เบญเบ™เบžเบฝเบ‡เปเบ•เปˆเบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบชเปเบฒเป€เบ™เบปเบฒเบšเปเปˆเบ„เบปเบšเบ–เป‰เบงเบ™เบ‚เบญเบ‡ repository. เป‚เบ„เบ™เบ™เปŒเบ›เบปเบเบเบฐเบ•เบดเบˆเบฐเบชเบณเป€เบ™เบปเบฒเบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เปเบปเบ”เบˆเบฒเบเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™, เบฅเบงเบกเบ—เบฑเบ‡เบ—เบธเบเบฅเบธเป‰เบ™เบ‚เบญเบ‡เบ—เบธเบเป„เบŸเบฅเปŒเปƒเบ™เบ›เบฐเบซเบงเบฑเบ”เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡. เบชเปเบฒเบฅเบฑเบšเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบซเบผเบฒเบ, เบเบฒเบ™เบ„เบฑเบ”เบฅเบญเบเบ‚เปเป‰เบกเบนเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เปเบฅเบฐเบžเบทเป‰เบ™เบ—เบตเปˆเบ”เบดเบ”เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบžเบฝเบ‡เปเบ•เปˆเบกเบตเบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเปƒเบ™เบŠเบธเบ”เบเปˆเบญเบเบ‚เบญเบ‡เป„เบŸเบฅเปŒ. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบ‡เปˆเบฒเบเบ•เปเปˆเบเบฒเบ™เบ”เบถเบ‡เป€เบญเบปเบฒเบžเบฝเบ‡เปเบ•เปˆเบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบ•เบปเป‰เบ™เป„เบกเป‰เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบ, เบเบฒเบ™เบ›เปˆเบญเบเปƒเบซเบกเปˆเปเบ™เบฐเบ™เปเบฒเบ„เปเบฒเบชเบฑเปˆเบ‡ "sparse-checkout" เบ—เบปเบ”เบฅเบญเบ‡เปเบฅเบฐเบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบซเบกเปˆ "--sparse" เบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡ "clone".

    เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰, เบ‚เบฐเบšเบงเบ™เบเบฒเบ™ cloning เบเบฒเบ™เบ„เบฑเบ”เป€เบฅเบทเบญเบเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเบœเปˆเบฒเบ™เบงเบฝเบเบ‡เบฒเบ™ เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡ เป€เบžเบทเปˆเบญเบเบฑเปˆเบ™เบ•เบญเบ‡เป€เบ™เบทเป‰เบญเบซเบฒเบ—เบตเปˆเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบญเบญเบเปเบฅเบฐเบ—เบฒเบ‡เป€เบฅเบทเบญเบ "-no-checkout" เป€เบžเบทเปˆเบญเบ›เบดเบ”เบเบฒเบ™เบ•เบทเปˆเบกเป„เบŸเบฅเปŒเบ—เบตเปˆเบ‚เบฒเบ”เบซเบฒเบเป„เบ›. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบš, เบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ core.sparseCheckout เปเบฅเบฐเบเปเบฒเบ™เบปเบ”เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบฎเบนเบšเปเบšเบšเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ—เบตเปˆเบšเปเปˆเบฅเบงเบกเบขเบนเปˆเปƒเบ™เป„เบŸเบฅเปŒ .git/info/sparse-checkout. เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญ clone เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™ blobs เปเบฅเบฐเบ›เป‰เบญเบ‡เบเบฑเบ™เบšเปเปˆเปƒเบซเป‰เป„เบŸเบฅเปŒเบ–เบทเบเบชเบฐเบเบฑเบ”เบˆเบฒเบ subdirectories เบ‚เบญเบ‡เบ„เบงเบฒเบกเป€เบฅเบดเบ 2 เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™:

    git clone --filter=blob:none --no-checkout /your/repository/herre repo
    $cd repo
    $ cat >.git/info/sparse-checkout
    /*
    !/*
    EOF
    $ git config core.sparseCheckout 1
    $ git checkout .

    เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบซเบกเปˆ "git sparse-checkout" เป„เบ”เป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบงเบฝเบเบ‡เบฒเบ™เบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเปเบฅเบฐเบซเบผเบธเบ”เบœเปˆเบญเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบˆเบฑเบ”เบฅเปเบฒเบ”เบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบกเบตเบšเปˆเบญเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบšเปเปˆเบ„เบปเบšเบ–เป‰เบงเบ™เบ•เปเปˆเบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

    git clone --filter=blob:none --sparse /your/repository/herre repo
    git sparse-checkout เบ•เบฑเป‰เบ‡ /path/to/check/out

    เบ„เปเบฒเบชเบฑเปˆเบ‡ sparse-checkout เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเปˆเบฒเบเป€เบ‡เบดเบ™ (เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰) เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบเปเบฒเบซเบ™เบปเบ”เป€เบญเบ‡ .git/info/sparse-checkout, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบชเบฐเปเบ”เบ‡เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ›เบฐเบˆเบธเบšเบฑเบ™ (เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆ) เปเบฅเบฐเป€เบ›เบตเบ”เบซเบผเบทเบ›เบดเบ”เบเบฒเบ™เบŠเปเบฒเบฅเบฐเบšเบฒเบ‡เบชเปˆเบงเบ™ (เป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™. /เบ›เบดเบ”เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™).

    เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš repositories เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบซเบผเบฒเบเปเบฅเบฐเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เปเบกเปˆเปเบšเบš, "git config core.sparseCheckoutCone" , เป€เบŠเบดเปˆเบ‡เบˆเปเบฒเบเบฑเบ”เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ” (เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบฎเบนเบšเปเบšเบš .gitignore arbitrary, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบฅเบฐเป„เบŸเบฅเปŒเบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™ subdirectory เปƒเบ”เบซเบ™เบถเปˆเบ‡เบ„เบงเบ™เบˆเบฐเบ–เบทเบเบเบงเบ”เบชเบญเบš). เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™เบ–เป‰เบฒเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบกเบตเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต "A / B / C" เปเบฅเบฐเบงเบฝเบเบ‡เบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบชเบธเบกเปƒเบชเปˆเบขเบนเปˆเปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบเปˆเบญเบ "C", เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เป‚เบซเบกเบ” sparseCheckoutCone, เบ„เปเบฒเบชเบฑเปˆเบ‡ "git sparse-checkout เบเปเบฒเบ™เบปเบ” A / B /. C" เบˆเบฐเบชเบฐเบเบฑเบ”เป€เบ™เบทเป‰เบญเปƒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡ "C", เปเบ•เปˆเบˆเบฒเบ "A" เปเบฅเบฐ "B" เบกเบฑเบ™เบˆเบฐเบชเบฐเบเบฑเบ”เบžเบฝเบ‡เปเบ•เปˆเบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš "C".

  • เบˆเบฒเบเป€เบญเบเบฐเบชเบฒเบ™ ("git rebase -h"), เบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบดเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบเปˆเบฝเบงเบเบฑเบšเบ—เบฒเบ‡เป€เบฅเบทเบญเบ "--preserve-merges" เป„เบ”เป‰เบ–เบทเบเป‚เบเบเบเป‰เบฒเบเบญเบญเบ, เป€เบŠเบดเปˆเบ‡เป„เบ”เป‰เบ–เบทเบเบเบปเบเป€เบฅเบตเบเปเบฅเบฐเบ„เบงเบ™เบˆเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปเบ—เบ™เป€เบžเบทเปˆเบญเบเป‰เบฒเบเบŠเบธเบ”เบ‚เบญเบ‡เบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒ.git rebase --rebase-merges"
  • เป€เบžเบทเปˆเบญเบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบญเปˆเบฒเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบกเบต patches เบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒเบฅเบฒเบเบŠเบทเปˆเบ—เบฒเบ‡เป„เบ›เบชเบฐเบ™เบต, เบ—เบฒเบ‡เป€เบฅเบทเบญเบ "git format-patch โ€”cover-from-description subject" เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก, เป€เบกเบทเปˆเบญเบเปเบฒเบ™เบปเบ”, เบงเบฑเบเบ—เปเบฒเบญเบดเบ”เบˆเบฒเบเบ‚เปเป‰เบ„เบงเบฒเบกเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบชเบฒเบ‚เบฒเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบ›เบฑเบ™เบซเบปเบงเบ‚เปเป‰เบ‚เบญเบ‡. เบˆเบปเบ”เบซเบกเบฒเบเบชเบฐเบšเบฑเบšเบชเปเบฒเบฅเบฑเบšเบŠเบธเบ”เบ‚เบญเบ‡ patches เป„เบ”เป‰.
  • เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡ "git apply -3way" เปเบฅเบฐเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ "merge.conflictStyle" ("git apply" เบ•เบญเบ™เบ™เบตเป‰เบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบฎเบนเบšเปเบšเบšเบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบ‚เปเป‰เบ‚เบฑเบ”เปเบเปˆเบ‡เบˆเบฒเบ merge.conflictStyle เป€เบกเบทเปˆเบญเบกเบตเบ„เบงเบฒเบกเบˆเปเบฒเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบ‚เปเป‰เบ‚เบฑเบ”เปเบเปˆเบ‡เบซเบผเบฑเบ‡เบˆเบฒเบเบžเบฐเบเบฒเบเบฒเบก. เป€เบžเบทเปˆเบญเบ™เปเบฒเปƒเบŠเป‰เป„เบŸเบฅเปŒ patch เบเบฑเบš repository).
  • เบฅเบฐเบซเบฑเบ”เบ™เบดเบเบฒเบกเบŸเบฑเบ‡เบŠเบฑเบ™เบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เป€เบŠเบฑเปˆเบ™ "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 เบ‚เบญเบ‡เบเบฒเบŸเบ—เบตเปˆเบกเบตเบ›เบฐเบซเบงเบฑเบ”เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™. rework เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบ›เบฑเบšเบ›เบธเบ‡เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเปเบฅเบฐเบ‡เปˆเบฒเบเบ”เบฒเบเบœเบปเบ™เบœเบฐเบฅเบดเบ”เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบšเบดเบ”เป€เบšเบทเบญเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ‚เบญเบ‡เป€เบฅเบทเปˆเบญเบ‡, เป€เบŠเบดเปˆเบ‡, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบกเบตเบฎเบนเบšเบ‚เบฐเบซเบเบฒเบเป€เบเบตเบ™เบ„เบงเบฒเบกเบเบงเป‰เบฒเบ‡เบ‚เบญเบ‡เป€เบชเบฑเป‰เบ™เบขเบนเปˆเบ›เบฒเบเบเบญเบ”.
  • เบ—เบฒเบ‡เป€เบฅเบทเบญเบ "git log --format=.." เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบ›เปˆเบฝเบ™เบฎเบนเบšเปเบšเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ”,
    เบ‚เบฐเบซเบเบฒเบเบ”เป‰เบงเบเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบ—เบธเบ‡ โ€œl/Lโ€ เป€เบžเบทเปˆเบญเบชเบฐเปเบ”เบ‡เบชเบฐเป€เบžเบฒเบฐเบชเปˆเบงเบ™เบ‚เบญเบ‡เบ—เบตเปˆเบขเบนเปˆเบญเบตเป€เบกเบงเบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เบเปˆเบญเบ™เบชเบฑเบ™เบเบฒเบฅเบฑเบ โ€œ@โ€ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เป€เบกเบทเปˆเบญเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ—เบฑเบ‡เปเบปเบ”เบกเบตเบญเบตเป€เบกเบงเบ—เบฑเบ‡เปเบปเบ”เบขเบนเปˆเปƒเบ™เป‚เบ”เป€เบกเบ™เบ”เบฝเบงเบเบฑเบ™).

  • เป€เบžเบตเปˆเบกเบ„เปเบฒเบชเบฑเปˆเบ‡เบเปˆเบญเบ "set-url" เปƒเบชเปˆเบ„เปเบฒเบชเบฑเปˆเบ‡ "git submodule".
  • เบŠเบธเบ”เบ—เบปเบ”เบชเบญเบšเป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เปƒเบ™เบเบฒเบ™เบเบฐเบเบฝเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบซเบฑเบ™เบ›เปˆเบฝเบ™เป„เบ›
    hashing algorithm SHA-2 เปเบ—เบ™ SHA-1.

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

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