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

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

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

  • เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡ "git switch" เปเบฅเบฐ "git restore" เบ„เปเบฒเบชเบฑเปˆเบ‡เบ–เบทเบเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเป€เบžเบทเปˆเบญเปเบเบเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ” "git checkout" เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เป€เบŠเบฑเปˆเบ™: เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบชเบฒเบ‚เบฒ (เบชเบฐเบซเบผเบฑเบšเปเบฅเบฐเบเบฒเบ™เบชเป‰เบฒเบ‡) เปเบฅเบฐเบเบฒเบ™เบŸเบทเป‰เบ™เบŸเบนเป„เบŸเบฅเปŒเปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเป€เบฎเบฑเบ”เบงเบฝเบ ("git checkout $commit - $filename") เบซเบผเบทเบ—เบฑเบ™เบ—เบตเบขเบนเปˆเปƒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบชเบฐเปเบ”เบ‡ (โ€œ-stagingโ€, เบšเปเปˆเบกเบต analogue เปƒเบ™ โ€œgit checkoutโ€). เบกเบฑเบ™เป€เบ›เบฑเบ™เบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒ, เบšเปเปˆเป€เบซเบกเบทเบญเบ™เบเบฑเบš "git checkout", "git restore" เป€เบญเบปเบฒเป„เบŸเบฅเปŒเบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบ•เบดเบ”เบ•เบฒเบกเบญเบญเบเบˆเบฒเบเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเบ–เบทเบเบŸเบทเป‰เบ™เบŸเบน ("--no-overlay" เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™).
  • เป€เบžเบตเปˆเบกเบ—เบฒเบ‡เป€เบฅเบทเบญเบ "git merge -quit", เป€เบŠเบดเปˆเบ‡, เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบš "-abort", เบขเบธเบ”เป€เบŠเบปเบฒเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบฅเบงเบกเบชเบฒเบ‚เบฒ, เปเบ•เปˆเบ›เปˆเบญเบเปƒเบซเป‰เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบšเปเปˆเป„เบ”เป‰เบชเปเบฒเบœเบฑเบ”. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ–เป‰เบฒเบšเบฒเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเป€เบฎเบฑเบ”เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบฅเบงเบกเบ•เบปเบงเบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡เบˆเบฐเบ”เบตเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเบญเบญเบเป€เบ›เบฑเบ™เบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ.
  • เบ„เปเบฒเบชเบฑเปˆเบ‡ "git clone", "git fetch" เปเบฅเบฐ "git push" เบ›เบฐเบˆเบธเบšเบฑเบ™เบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ‚เบญเบ‡เบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเปƒเบ™ repositories เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ (เบชเบฐเบซเบผเบฑเบš);
  • เป€เบžเบตเปˆเบกเปเบฅเป‰เบง เบ•เบปเบงเป€เบฅเบทเบญเบ โ€œgit เบ•เบณเบ™เบด โ€”ignore-revโ€ เปเบฅเบฐ โ€œโ€”ignore-revs-fileโ€ เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ‚เป‰เบฒเบกเบเบฒเบ™เบเบฐเบ—เบณเบ—เบตเปˆเป€เบฎเบฑเบ”เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เป€เบฅเบฑเบเบ™เป‰เบญเบ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เปเบเป‰เป„เบ‚เบเบฒเบ™เบˆเบฑเบ”เบฎเบนเบšเปเบšเบš);
  • เป€เบžเบตเปˆเบกเบ—เบฒเบ‡เป€เบฅเบทเบญเบ "git cherry-pick โ€”skip" เป€เบžเบทเปˆเบญเบ‚เป‰เบฒเบกเบเบฒเบ™เบ‚เบฑเบ”เปเบเป‰เบ‡ (เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ—เบตเปˆเบˆเบทเปˆเบˆเปเบฒเบ‚เบญเบ‡ "git reset && git cherry-pick โ€”เบชเบทเบšเบ•เปเปˆ" เบฅเปเบฒเบ”เบฑเบš);
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ status.aheadBehind, เป€เบŠเบดเปˆเบ‡เปเบเป‰เป„เบ‚เบขเปˆเบฒเบ‡เบ–เบฒเบงเบญเบ™ "เบชเบฐเบ–เบฒเบ™เบฐ git -[no-]ahead-behind" เบ—เบฒเบ‡เป€เบฅเบทเบญเบ;
  • เปƒเบ™เบ–เบฒเบ™เบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบ›เปˆเบญเบเบ™เบตเป‰, "git log" เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบŠเป‰เป€เบงเบฅเบฒเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบšเบฑเบ™เบŠเบตเบ—เบตเปˆเป€เบฎเบฑเบ”เป‚เบ”เบ mailmap, เบ„เป‰เบฒเบเบ„เบทเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™ git shortlog เปเบฅเป‰เบง;
  • เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ‚เบญเบ‡ cache เบ—เบปเบ”เบฅเบญเบ‡เบ‚เบญเบ‡ commit graph (core.commitGraph) เบ—เบตเปˆเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเปƒเบ™ 2.18 เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เป€เบฅเบฑเปˆเบ‡เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ. เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰เบเบฑเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰ git เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐ ref เป„เบงเบ‚เบถเป‰เบ™เป€เบกเบทเปˆเบญเปƒเบŠเป‰เบซเบผเบฒเบเปเบกเปˆเปเบšเบšเปเบฅเบฐเบซเบผเบธเบ”เบฅเบปเบ‡เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เป‚เบ—เป„เบ›เบซเบฒ auto-gc เปƒเบ™ "git fetch โ€”multiple";
  • "เบชเบฒเบ‚เบฒ git --list" เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบชเบฐเป€เบซเบกเบตเบชเบฐเปเบ”เบ‡ HEAD เปเบเบเบขเบนเปˆเปƒเบ™เบˆเบธเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆ, เบšเปเปˆเบงเปˆเบฒเบˆเบฐเป€เบ›เบฑเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เปƒเบ”.

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

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