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

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

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

  • เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เบ•เบฑเป‰เบ‡เปเบ•เปˆเบฅเบธเป‰เบ™ 1.18, เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ–เบญเบ™เบ„เบทเบ™เปƒเบซเบกเปˆเบ‚เบญเบ‡ commit "git rebase --rebase-merges" เปเบ—เบ™เบ—เบตเปˆเบ•เบปเบงเป€เบฅเบทเบญเบ "--preserve-merges" เป€เบเบปเปˆเบฒ, เป€เบŠเบดเปˆเบ‡เป„เบ”เป‰เบ–เบทเบเบเบปเบเป€เบฅเบตเบเปเบฅเป‰เบง. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ "git rebase" เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ—เบปเบ”เปเบ—เบ™เบŠเบธเบ”เบ‚เบญเบ‡เบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเบเบฑเบš commit เบžเบทเป‰เบ™เบ–เบฒเบ™เปƒเบซเบกเปˆ, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญเบเป‰เบฒเบเบชเบฒเบ‚เบฒเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบ—เบตเปˆเบเปเบฒเบฅเบฑเบ‡เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เปƒเบซเบกเปˆเบšเบฒเบ‡เบขเปˆเบฒเบ‡เปƒเบซเป‰เบเบฑเบšเบชเบฐเบ–เบฒเบ™เบฐเบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ‚เบญเบ‡เบชเบฒเบ‚เบฒเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš, เป€เบŠเบดเปˆเบ‡เบฅเบงเบกเบกเบตเบเบฒเบ™เปเบเป‰เป„เบ‚เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบซเบผเบฑเบ‡เบˆเบฒเบเบชเบฒเบ‚เบฒ. :

    o - o - o (เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ‚เบญเบ‡เบ‚เป‰เบญเบ)

    /

    o - o - o - o - o (เบญเบฒเบˆเบฒเบ™)

    o - o - o (เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ‚เบญเบ‡เบ‚เป‰เบญเบ)

    /

    o - o - o - o - o (เบญเบฒเบˆเบฒเบ™)

    เป€เบžเบทเปˆเบญเบฎเบฑเบเบชเบฒเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบชเบฒเบ‚เบฒเปƒเบ™เบชเบฒเบ‚เบฒเบ—เบตเปˆเป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบ, เบ—เบฒเบ‡เป€เบฅเบทเบญเบ "-preserve-merges" เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เป€เบกเบทเปˆเบญเบเปˆเบญเบ™, เป€เบŠเบดเปˆเบ‡, เป€เบกเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบ™เบฎเบนเบšเปเบšเบšเป‚เบ•เป‰เบ•เบญเบš (git rebase -i -preserve-merges), เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เปเบเป‰เป„เบ‚เบ›เบฐเบซเบงเบฑเบ”เบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒ, เปเบ•เปˆเบšเปเปˆเป„เบ”เป‰. เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบเบฒเบ™เบฎเบฑเบเบชเบฒเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ‚เบญเบ‡ repository เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™. เบฎเบนเบšเปเบšเบšเปƒเบซเบกเปˆ "--rebase-merges" เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฎเบฑเบเบชเบฒเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบชเบฒเบ‚เบฒเบ—เบตเปˆเบ–เบทเบเบเบปเบเบเป‰เบฒเบ, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบšเบšเป‚เบ•เป‰เบ•เบญเบšเบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆ, เบฅเบงเบกเบ—เบฑเบ‡เบเบฒเบ™เบฅเบถเบš, เบเบฒเบ™เบˆเบฑเบ”เบเบธเปˆเบกเปƒเบซเบกเปˆ, เปเบฅเบฐเบเบฒเบ™เบ›เปˆเบฝเบ™เบŠเบทเปˆเบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒ.

    เบ•เบปเบงเบขเปˆเบฒเบ‡, "--rebase-merges" เบญเบฐเบ™เบธเบเบฒเบ” re-upload commits เบˆเบฒเบเบชเบฒเบ‚เบฒเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเป„เบ›เบซเบฒเบชเบฒเบ‚เบฒเปเบกเปˆเบšเบปเบ”เปƒเบซเบกเปˆ, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบฎเบฑเบเบชเบฒเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบชเบฒเบ‚เบฒเปƒเบ™เบชเบฒเบ‚เบฒเบ—เบตเปˆเป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบ, เปเบฅเบฐเป€เบฎเบฑเบ”เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบšเบฒเบ‡เบšเบฑเบ™เบ—เบถเบเบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเป„เบ”เป‰.

  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เปƒเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เบชเบฒเบ‚เบฒเปƒเบซเบกเปˆเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบœเบปเบ™เบ‚เบญเบ‡เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ–เบฒเบ™เบเบฒเบ™เบฅเบงเบกเบ‚เบญเบ‡เบชเบญเบ‡เบชเบฒเบ‚เบฒเบญเบทเปˆเบ™ (merge base, binding เบเบฑเบšเบšเบฑเบ™เบžเบฐเบšเบธเบฅเบธเบ”เบ—เบปเปˆเบงเป„เบ›) เป‚เบ”เบเปƒเบŠเป‰เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡ "เบชเบฒเบ‚เบฒ git เปƒเบซเบกเปˆ A ...B" เปเบฅเบฐ "git checkout -b เปƒเบซเบกเปˆ. A ...B ", เปƒเบ™เบ—เบตเปˆ "A ...B" เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบžเบทเป‰เบ™เบ–เบฒเบ™เบเบฒเบ™เบฅเบงเบกเบเบฑเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบชเบญเบ‡เบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰, เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™ "git checkout A ...B" เบ›เปˆเบฝเบ™ HEAD เป„เบ›เบซเบฒเบ–เบฒเบ™เบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเปเบฅเบฐ "เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡ A. ..B "เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡ commit "B" เปเบฅเบฐเป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบš commit "A" "เบšเบฑเบ™เบžเบฐเบšเบธเบฅเบธเบ”.

    เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบกเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบชเบฒเบ‚เบฒเบ—เบตเปˆเบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เบ‚เป‰เบญเบเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบˆเบฒเบเบชเบฒเบ‚เบฒเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เบ•เบปเบงเบขเปˆเบฒเบ‡, เบˆเบฒเบเบšเปˆเบญเบ™เบ”เบฝเบงเบเบฑเบ™เปƒเบ™เบชเบฒเบ‚เบฒเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเบ—เบตเปˆเบชเบฒเบ‚เบฒเบ‚เบญเบ‡เบ‚เป‰เบญเบเบ–เบทเบเบเบงเบ”เบชเบญเบš. เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰, เบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบเบงเบ”เป€เบšเบดเปˆเบ‡เบšเบฑเบ™เบ—เบถเบเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡, เป€เบŠเบดเปˆเบ‡เบšเปเปˆเบชเบฐเบ”เบงเบเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบ›เบฐเบซเบงเบฑเบ”เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปเบฅเปˆเบ™ "git merge-base master my-feature" เป€เบžเบทเปˆเบญเบ„เบดเบ”เป„เบฅเปˆ hash เบ‚เบญเบ‡ merge base เบฅเบฐเบซเบงเปˆเบฒเบ‡ master เปเบฅเบฐ my-feature. เปเบฅเบฐเบเบฒเบ™เบชเป‰เบฒเบ‡เบชเบฒเบ‚เบฒเปƒเบซเบกเปˆเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบšเบฑเบ™เบžเบฐเบšเบธเบฅเบธเบ”เบ—เบปเปˆเบงเป„เบ› "git branch my-other-feature hash." เปƒเบ™ Git 2.22, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰ syntax "git branch my-other-feature A...B" เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบชเบฒเบ‚เบฒเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบ–เบฒเบ™เบเบฒเบ™เบฅเบงเบกเบ‚เบญเบ‡เบชเบญเบ‡เบชเบฒเบ‚เบฒเบญเบทเปˆเบ™เป†;

  • เป€เบžเบตเปˆเบก "เบชเบฒเบ‚เบฒ git --show-current" เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบˆเบฐเบชเบฐเปเบ”เบ‡เบŠเบทเปˆเบ‚เบญเบ‡เบชเบฒเบ‚เบฒเบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบˆเปˆเบฒเบเป€เบ‡เบดเบ™;
  • เป€เบžเบตเปˆเบกเบ—เบฒเบ‡เป€เบฅเบทเบญเบ "git checkout โ€”no-overlay โ€” dir", เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰, เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบŠเปเบฒเบฅเบฐเป€เบ‡เบดเบ™, เบ™เปเบฒเป€เบญเบปเบฒเป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต dir เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เปเบšเบšเบŸเบญเบกเบ—เบตเปˆเบชเบญเบ”เบ„เปˆเบญเบ‡เบเบฑเบšเบชเบฐเบžเบฒเบšเบ‚เบญเบ‡เบชเบฒเบ‚เบฒเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ–เป‰เบฒเบกเบตเป„เบŸเบฅเปŒเบขเบนเปˆเปƒเบ™เบชเปเบฒเป€เบ™เบปเบฒเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ‚เบญเบ‡เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต dir เบ—เบตเปˆเบšเปเปˆเบขเบนเปˆเปƒเบ™เบชเบฒเบ‚เบฒเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบกเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ "git checkout master - dir" เบกเบฑเบ™เบˆเบฐเบ›เบฐเป„เบงเป‰, เปเบฅเบฐเบ–เป‰เบฒ "--no-overlay" โ€ เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เปเบกเปˆเบ™โ€‹เป„เบ”เป‰โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป„เบงเป‰โ€‹, เบกเบฑเบ™โ€‹เบˆเบฐโ€‹เบ–เบทเบโ€‹เบฅเบปเบšโ€‹;
  • เบ„เปเบฒเบชเบฑเปˆเบ‡ "git diff" เปƒเบŠเป‰ API เบ—เบปเปˆเบงเป„เบ›เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเป€เบฅเบทเบญเบเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐ, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบเบฑเบšเบœเบปเบ™เบ›เบฐเป‚เบซเบเบ” git เบญเบทเปˆเบ™เป†. เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบ™ "git diff", เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบกเบต antagonists เบ‚เบญเบ‡เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒ ("--function-context" เปเบฅเบฐ "--no-function-context");
  • เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡ tags เบ‚เบฐเบซเบเบฒเบเบ—เบตเปˆเบ•เบดเบ”เบเบฑเบš commits เปƒเบ™ "git log" output ("trailer" - เบ—เบธเบ‡เบ‚เปเป‰เบกเบนเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบก, เป€เบŠเบฑเปˆเบ™: Signed-off-by and Co-authored-by). เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบเบฑเปˆเบ™เบ•เบญเบ‡เบ›เป‰เบฒเบเบŠเบทเปˆเป‚เบ”เบเบ—เบฑเบ‡เบ„เบตเปเบฅเบฐเบกเบนเบ™เบ„เปˆเบฒ, เบ•เบปเบงเบขเปˆเบฒเบ‡:
    "git log --pretty="%(trailers:key=Reviewed-by,valueonly)";

  • เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบ•เบดเบ”เบ•เบฒเบกเปƒเบซเบกเปˆ, Trace2, เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก, เบชเบฐเป€เบซเบ™เบตเบฎเบนเบšเปเบšเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบเบทเบ”เบซเบเบธเปˆเบ™เปเบฅเบฐเป‚เบ„เบ‡เบชเป‰เบฒเบ‡. Trace2 เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบเบฑเบšเบเปเบฒเบ‚เปเป‰เบกเบนเบ™ telemetry เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เปเบฅเบฐเบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเปเบฅเบฐเบเบฒเบ™เปเบเป‰เป„เบ‚เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก (เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เปเบกเปˆเบ™เบกเบญเบšเบซเบกเบฒเบเป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰, เบšเปเปˆเบกเบตเบ‚เปเป‰เบกเบนเบ™เบ–เบทเบเบชเบปเปˆเบ‡เบžเบฒเบเบ™เบญเบ);
  • เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™ "git bisect" เป„เบ”เป‰เบ–เบทเบเป€เบฎเบฑเบ”เปƒเบซเป‰เบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป„เบ”เป‰เบซเบผเบฒเบเบ‚เบทเป‰เบ™, เปƒเบ™เบ—เบตเปˆเบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเบ—เบตเปˆเบกเบตเบšเบฑเบ™เบซเบฒเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เป„เบ”เป‰เบ–เบทเบเป€เบ™เบฑเป‰เบ™เปƒเบชเปˆเบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡เบซเบผเบฒเบเบ‚เบถเป‰เบ™เปเบฅเบฐเบชเบฐเบ–เบดเบ•เบดเบชเบฐเบซเบผเบธเบšเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเป„เบŸเบฅเปŒเบ–เบทเบเบชเบฐเปเบ”เบ‡ (เปƒเบ™เบฅเบฐเบ”เบฑเบšเบ‚เบญเบ‡เบˆเปเบฒเบ™เบงเบ™เป€เบชเบฑเป‰เบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡);
  • heuristics เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ›เปˆเบฝเบ™เบŠเบทเปˆเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบทเบ™เปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเบฅเบปเบšเบฅเป‰เบฒเบ‡เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เบŠเบทเปˆเบ›เป‰เบฒเบเบŠเบทเปˆ. เป€เบกเบทเปˆเบญเบชเบปเบ‡เปƒเบช, เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบ–เบทเบเปเบฒเบเบงเปˆเบฒเบ‚เบฑเบ”เบเบฑเบ™;
  • เบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเบˆเบฐเบชเบฐเปเบ”เบ‡เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เบžเบฐเบเบฒเบเบฒเบกเบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบ—เปเบเปƒเบ™เปเบ—เบฑเบเบญเบทเปˆเบ™, เป€เบŠเบดเปˆเบ‡เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเปเบกเปˆเบ™เป€เบฎเบฑเบ”เป‚เบ”เบเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปเบฅเบฐเบชเบฒเบกเบฒเบ”เบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เบ•เบฑเป‰เบ‡เปเบ—เปเบเบ—เบตเปˆเบœเบดเบ”เบžเบฒเบ” (เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เป€เบŠเบฑเปˆเบ™ "git tag -f -m "เบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบ›เบฑเบšเบ›เบธเบ‡" my-tag1 my- tag2โ€ณ เบˆเบฐเบชเบปเปˆเบ‡เบœเบปเบ™เปƒเบซเป‰เปเบ—เบฑเบเบ–เบทเบเบชเป‰เบฒเบ‡เบขเบนเปˆเปƒเบ™เปเบ—เบฑเบเป€เบเบปเปˆเบฒ, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ„เบฒเบ”เบงเปˆเบฒเปเบ—เบฑเบเปƒเบซเบกเปˆเบˆเบฐเบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเบ—เบตเปˆเบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เป‚เบ”เบเปเบ—เบฑเบเป€เบเบปเปˆเบฒ);
  • เบเบฒเบ™เบœเบฐเบฅเบดเบ”เป„เบ”เป‰เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบšเปˆเบญเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™ bitmap (เป‚เบ„เบ‡เบชเป‰เบฒเบ‡ "bitmaps เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡" เบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆเปเบœเปˆเบ™), เป€เบŠเบดเปˆเบ‡เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบŠเบธเบ”เบ‚เบญเบ‡เบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบกเบตเบขเบนเปˆเบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเปเบฅเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ‚เบญเบ‡เบงเบฑเบ”เบ–เบธเบžเบทเป‰เบ™เบ–เบฒเบ™เป„เบ”เป‰เป„เบง. เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ™เบตเป‰เบซเบผเบธเบ”เบฅเบปเบ‡เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเบ—เบตเปˆเปƒเบŠเป‰เป€เบงเบฅเบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบเบฒเบ™เบ”เบถเบ‡เบ‚เปเป‰เบกเบนเบ™ (git fetch).

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

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