Git 2.41 เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเปเบซเบผเปˆเบ‡เบ—เบตเปˆเบกเบตเบขเบนเปˆ

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

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

  • เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป„เบ”เป‰เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบญเป‰เบฒเบ‡เบญเบตเบ‡เบขเบนเปˆเปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™ (เบšเปเปˆเป„เบ”เป‰เบญเป‰เบฒเบ‡เบญเบตเบ‡เบˆเบฒเบเบชเบฒเบ‚เบฒ เบซเบผเบทเปเบ—เบฑเบ). เบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเบซเบฒเป„เบ”เป‰เบˆเบฐเบ–เบทเบเบฅเบถเบšเป‚เบ”เบเบœเบนเป‰เป€เบเบฑเบšเบ‚เบตเป‰เป€เบซเบเบทเป‰เบญ, เปเบ•เปˆเบเบฑเบ‡เบ„เบปเบ‡เบขเบนเปˆเปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เบเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเบกเบฑเบ™เบˆเบฐเบ–เบทเบเบฅเบถเบšเบ–เบดเป‰เบกเป€เบžเบทเปˆเบญเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบชเบฐเบžเบฒเบšเบเบฒเบ™เปเบ‚เปˆเบ‡เบ‚เบฑเบ™. เป€เบžเบทเปˆเบญเบ•เบดเบ”เบ•เบฒเบกเป„เบฅเบเบฐเป€เบงเบฅเบฒเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ‚เบญเบ‡เบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เบšเบฑเบ™เบฅเบธเป„เบ”เป‰, เบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ•เบดเบ”เปเบ—เปเบเบเบฑเบšเบžเบงเบเป€เบ‚เบปเบฒเบ”เป‰เบงเบเป€เบงเบฅเบฒเบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เบญเบ‡เบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™, เป€เบŠเบดเปˆเบ‡เบšเปเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบงเป‰เปƒเบ™เป€เบญเบเบฐเบชเบฒเบ™เบŠเบญเบ‡เบ”เบฝเบงเบ—เบตเปˆเบงเบฑเบ”เบ–เบธเบ—เบฑเบ‡เบซเบกเบปเบ”เบกเบตเป€เบงเบฅเบฒเบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบปเปˆเบงเป„เบ›. เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰, เปเบ•เปˆเบฅเบฐเบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเบซเบฒเป„เบ”เป‰เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เป„เบŸเบฅเปŒเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบšเบฑเบ™เบซเบฒเป€เบกเบทเปˆเบญเบกเบตเบงเบฑเบ”เบ–เบธเบชเบปเบ”เป†เบˆเปเบฒเบ™เบงเบ™เบซเบผเบงเบ‡เบซเบผเบฒเบเบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเบซเบฒเป„เบ”เป‰เบ—เบตเปˆเบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เบกเบตเบชเบดเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฅเบถเบš. เปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบเปƒเบซเบกเปˆ, เบเบปเบ™เป„เบ "cruft packs" เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบซเบธเป‰เบกเบซเปเปˆเบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเบซเบฒเป„เบ”เป‰, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเบซเบฒเป„เบ”เป‰เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เป„เบŸเบฅเปŒเบŠเบญเบ‡เบซเบ™เบถเปˆเบ‡, เปเบฅเบฐเบ‚เปเป‰เบกเบนเบ™เปƒเบ™เป€เบงเบฅเบฒเบ”เบฑเบ”เปเบ›เบ‡เบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบงเบฑเบ”เบ–เบธเปเบกเปˆเบ™เบชเบฐเบ—เป‰เบญเบ™เปƒเบซเป‰เป€เบซเบฑเบ™เบขเบนเปˆเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบงเป‰. เปƒเบ™เป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบ™เบฒเบกเบชเบฐเบเบธเบ™ โ€œ.mtimesโ€ เปเบฅเบฐเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป‚เบ”เบเปƒเบŠเป‰เป„เบŸเบฅเปŒเบ”เบฑเบ”เบชเบฐเบ™เบตเบ—เบตเปˆเบกเบตเบ™เบฒเบกเบชเบฐเบเบธเบ™ โ€œ.idxโ€.
    Git 2.41 เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเปเบซเบผเปˆเบ‡เบ—เบตเปˆเบกเบตเบขเบนเปˆ
  • เบเบฒเบ™เบฎเบฑเบเบชเบฒเบ”เบฑเบ”เบŠเบฐเบ™เบตเบ›เบตเป‰เบ™เบเบฑเบšเบขเบนเปˆเปƒเบ™เปเบœเปˆเบ™เบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒเปเบžเบฑเบเปเบกเปˆเบ™เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปƒเบ™ torvalds / linux repository, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ”เบฑเบ”เบŠเบฐเบ™เบตเบ›เบตเป‰เบ™เบเบฑเบšเบเบฑเบ™เป„เบ”เป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เป€เบฅเบฑเปˆเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ "git push" เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเป€เบ‚เบฑเป‰เบกเบ‚เบธเป‰เบ™เป‚เบ”เบ 1.49 เป€เบ—เบปเปˆเบฒ, เปเบฅเบฐเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเป€เบŠเบฑเปˆเบ™เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบงเบฑเบ”เบ–เบธเบ”เบฝเบงเป‚เบ”เบเปƒเบŠเป‰ "git cat-. file โ€”batch='%(objectsize:disk)' "77 เป€เบ—เบทเปˆเบญ. เป„เบŸเบฅเปŒ (โ€œ.revโ€) เบ—เบตเปˆเบกเบตเบ”เบฑเบ”เบŠเบฐเบ™เบตเบ›เบตเป‰เบ™เบเบฑเบšเบˆเบฐเบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เบžเบฒเบเปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต โ€œ.git/objects/packโ€.

    เบˆเบทเปˆเป„เบงเป‰เบงเปˆเบฒ Git เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เบงเบฑเบ”เบ–เบธ, เป€เบŠเบดเปˆเบ‡เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เป„เบŸเบฅเปŒเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ. เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ•เบดเบžเบฒเบšเบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™, เบงเบฑเบ”เบ–เบธเป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เปƒเบชเปˆเปƒเบ™เป„เบŸเบฅเปŒเปเบžเบฑเบเป€เบเบฑเบ”, เป€เบŠเบดเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เบ–เบทเบเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบ•เบดเบ”เบ•เบฒเบกเบเบฑเบ™ (เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เปเบกเปˆเบ™เปƒเบŠเป‰เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป‚เบญเบ™เบงเบฑเบ”เบ–เบธเบ”เป‰เบงเบ git fetch เปเบฅเบฐ git push. เบ„เปเบฒเบชเบฑเปˆเบ‡). เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเป„เบŸเบฅเปŒเปเบžเบฑเบ, เป„เบŸเบฅเปŒเบ”เบฑเบ”เบชเบฐเบ™เบต (.idx) เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบŠเบปเบ”เป€เบŠเบตเบเปƒเบ™เป„เบŸเบฅเปŒเบŠเบญเบ‡เป„เบ”เป‰เป„เบงเบซเบผเบฒเบเบ—เบตเปˆเบงเบฑเบ”เบ–เบธเบ—เบตเปˆเปƒเบซเป‰เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเบฅเบฐเบšเบธเบงเบฑเบ”เบ–เบธ.

    เบ”เบฑเบ”เบŠเบฐเบ™เบตเบ›เบตเป‰เบ™เบเบฑเบšเบเบฑเบ™เบฅเบงเบกเบขเบนเปˆเปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบเปƒเบซเบกเปˆเปเบกเปˆเบ™เปเบ™เปƒเบชเปˆเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบงเบฑเบ”เบ–เบธเบˆเบฒเบเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบงเบฒเบ‡เบ‚เบญเบ‡เบงเบฑเบ”เบ–เบธเปƒเบ™เป„เบŸเบฅเปŒเบŠเบญเบ‡. เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰, เบเบฒเบ™เปเบ›เบ‡เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบ—เบฑเบ™เบ—เบตเปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบเบฒเบ™เปเบเบเปเบžเบฑเบเป„เบŸเบฅเปŒเปเบฅเบฐเบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™, เป€เบŠเบดเปˆเบ‡เบšเปเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ”เบฑเบ”เบชเบฐเบ™เบตเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ„เบทเบ™เปƒเบซเบกเปˆเปเบฅเบฐเบšเบฑเบ‡เบ„เบฑเบšเปƒเบซเป‰เบ”เบฑเบ”เบชเบฐเบ™เบตเบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เปƒเบ™เปเบ•เปˆเบฅเบฐเบ„เบฑเป‰เบ‡. เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เบ”เบฑเบ”เบชเบฐเบ™เบตเปเบกเปˆเบ™เบฅเบปเบ‡เบกเบฒเปƒเบ™เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡ array เบ‚เบญเบ‡เบ„เบนเปˆเบ•เปเบฒเปเบซเบ™เปˆเบ‡เบงเบฑเบ”เบ–เบธเปเบฅเบฐเบˆเบฑเบ”เบฎเบฝเบ‡เบ•เบฒเบกเบ•เปเบฒเปเบซเบ™เปˆเบ‡, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป€เบงเบฅเบฒเบ”เบปเบ™เบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒเบŠเบญเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆ.

    เบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เป€เบžเบทเปˆเบญเบชเบฐเปเบ”เบ‡เป€เบ™เบทเป‰เบญเบซเบฒเบ‚เบญเบ‡เบงเบฑเบ”เบ–เบธ, เป€เบŠเบดเปˆเบ‡เปƒเบŠเป‰เบ”เบฑเบ”เบŠเบฐเบ™เบตเป‚เบ”เบเบเบปเบ‡, เปเบกเปˆเบ™เป„เบงเบเบงเปˆเบฒเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ 62 เป€เบ—เบปเปˆเบฒเป€เบžเบทเปˆเบญเบชเบฐเปเบ”เบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบงเบฑเบ”เบ–เบธ, เป€เบŠเบดเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เบ•เปเบฒเปเบซเบ™เปˆเบ‡เบเบฑเบšเบงเบฑเบ”เบ–เบธเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ”เบฑเบ”เบชเบฐเบ™เบต. เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ”เบฑเบ”เบŠเบฐเบ™เบตเบ›เบตเป‰เบ™เบเบฑเบšเบเบฑเบ™, เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป€เบฅเบตเปˆเบกเปƒเบŠเป‰เป€เบงเบฅเบฒเบ›เบฐเบกเบฒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™. Reverse indexes เบเบฑเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบฅเบฑเปˆเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบเบฒเบ™เบชเบปเปˆเบ‡เบงเบฑเบ”เบ–เบธเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡ fetch เปเบฅเบฐ push เป‚เบ”เบเบเบฒเบ™เป‚เบญเบ™เป‚เบ”เบเบเบปเบ‡เบ‚เปเป‰เบกเบนเบ™เบžเป‰เบญเบกเบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบˆเบฒเบเปเบœเปˆเบ™.

    Git 2.41 เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเปเบซเบผเปˆเบ‡เบ—เบตเปˆเบกเบตเบขเบนเปˆ

  • เป‚เบ›เบฃเป‚เบ•เบ„เป โ€œเบ•เบปเบงเบŠเปˆเบงเบเบเบฒเบ™เบขเบฑเป‰เบ‡เบขเบทเบ™โ€, เปƒเบŠเป‰เป€เบžเบทเปˆเบญเป‚เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบ›เบฐเบˆเบณเบ•เบปเบงเป€เบกเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ—เบตเปˆเบˆเบณเบเบฑเบ”, เป„เบ”เป‰เป€เบžเบตเปˆเบกเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ”เบชเปˆเบงเบ™เบซเบปเบงเบ‚เบญเบ‡ WWW-Authenticate เบฅเบฐเบซเบงเปˆเบฒเบ‡เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ›เบฐเบˆเบณเบ•เบปเบง เปเบฅเบฐเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡. เบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบชเปˆเบงเบ™เบซเบปเบงเบ‚เบญเบ‡ WWW-Authenticate เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบœเปˆเบฒเบ™เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบ‚เบญเบšเป€เบ‚เบ” OAuth เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เปเบšเปˆเบ‡เปเบเบเบ—เบตเปˆเบฅเบฐเบญเบฝเบ”เบเบงเปˆเบฒเบ‚เบญเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ‚เบญเบ‡เบœเบนเป‰เบŠเบปเบกเปƒเบŠเป‰เบ•เปเปˆเบเบฑเบšเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เปเบฅเบฐเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ‚เบญเบšเป€เบ‚เบ”เบ—เบตเปˆเบกเบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป.
  • เป€เบžเบตเปˆเบกเบ•เบปเบงเป€เบฅเบทเบญเบเบเบฒเบ™เบˆเบฑเบ”เบฎเบนเบšเปเบšเบš "%(ahead-behind:" เปƒเบชเปˆเบ„เปเบฒเบชเบฑเปˆเบ‡ for-each-ref: )โ€, เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบˆเปเบฒเบ™เบงเบ™เบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เบซเบผเบทเบšเปเปˆเบกเบตเบขเบนเปˆเปƒเบ™เบชเบฒเบ‚เบฒเปƒเบ”เบซเบ™เบถเปˆเบ‡, เบ—เบฝเบšเบเบฑเบšเบชเบฒเบ‚เบฒเบญเบทเปˆเบ™ (เบซเบผเบฒเบเบ›เบฒเบ™เปƒเบ”เบซเบ™เบถเปˆเบ‡เบชเบฒเบ‚เบฒเปเบกเปˆเบ™เบขเบนเปˆเบซเบฅเบฑเบ‡เบซเบผเบทเบเปˆเบญเบ™เบซเบ™เป‰เบฒเบญเบทเปˆเบ™เปƒเบ™เบฅเบฐเบ”เบฑเบšเบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒ). เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰, เป€เบžเบทเปˆเบญเปƒเบซเป‰เป„เบ”เป‰เบฎเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบชเบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ: "git rev-list -count main..my-feature" เป€เบžเบทเปˆเบญเปƒเบซเป‰เป„เบ”เป‰เบฎเบฑเบšเบˆเปเบฒเบ™เบงเบ™เบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบเบ‚เบญเบ‡เบชเบฒเบ‚เบฒเปเบฅเบฐ "git rev-list -count my-feature". ..mainโ€ เป€เบžเบทเปˆเบญเปƒเบซเป‰เป„เบ”เป‰เบฎเบฑเบšเบˆเปเบฒเบ™เบงเบ™เบ—เบตเปˆเบ‚เบฒเบ”เบซเบฒเบเป„เบ› commits. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบชเบฒเบกเบฒเบ”เบ–เบทเบเบซเบผเบธเบ”เบฅเบปเบ‡เป€เบ›เบฑเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ”เบฝเบง, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ‚เบฝเบ™เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบ‡เปˆเบฒเบเปเบฅเบฐเบซเบผเบธเบ”เบœเปˆเบญเบ™เป€เบงเบฅเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”. เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญเบชเบฐเปเบ”เบ‡เบชเบฒเบ‚เบฒเบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เปเบฅเบฐเบ›เบฐเป€เบกเบตเบ™เบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบขเบนเปˆเบซเบฅเบฑเบ‡เบซเบผเบทเบขเบนเปˆเบ‚เป‰เบฒเบ‡เบซเบ™เป‰เบฒเบ‚เบญเบ‡เบชเบฒเบ‚เบฒเบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰ one-liner: $ git for-each-ref โ€”no-merged=origin/HEAD \ โ€”format ='%(refname:short) %(ahead-behind :origin/HEAD)' \refs/heads/tb/ | column -t tb/cruft-extra-tips 2 96 tb/for-each-refโ€”exclude 16 96 tb/roaring-bitmaps 47 3 เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบชเบฐเบ„เบฃเบดเบšเบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เป€เบกเบทเปˆเบญเบเปˆเบญเบ™, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเบŠเป‰เบฒเบเบงเปˆเบฒ 17 เป€เบ—เบปเปˆเบฒ: $ git for-each-ref โ€” format='%(refname:short)' โ€”no-merged=origin/HEAD \ refs/heads/tb | เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบญเปˆเบฒเบ™ ref do ahead="$(git rev-list -count origin/HEAD..$ref)" behind="$(git rev-list -count $ref..origin/HEAD)" printf "%s %d %d\n" "$ref" "$ahead" "$behind" เปเบฅเป‰เบง | column -t tb/cruft-extra-tips 2 96 tb/for-each-refโ€”exclude 16 96 tb/roaring-bitmaps 47 3
  • เบ—เบฒเบ‡เป€เบฅเบทเบญเบ "-porcelain" เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเปƒเบชเปˆเบ„เปเบฒเบชเบฑเปˆเบ‡ "git fetch", เป€เบกเบทเปˆเบญเบเปเบฒเบ™เบปเบ”, เบœเบปเบ™เบœเบฐเบฅเบดเบ”เปเบกเปˆเบ™เบœเบฐเบฅเบดเบ”เปƒเบ™เบฎเบนเบšเปเบšเบš ". ", เบญเปˆเบฒเบ™เป„เบ”เป‰เปœเป‰เบญเบ, เปเบ•เปˆเบชเบฐเบ”เบงเบเบเบงเปˆเบฒเบชเบณเบฅเบฑเบšเบเบฒเบ™เปเบเบเบงเบดเป€เบ„เบฒเบฐเปƒเบ™เบชเบฐเบ„เบฃเบดเบš.
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ "fetch.hideRefs", เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฅเบฑเปˆเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™ "git fetch" เป‚เบ”เบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบ‡เบšเบฒเบ‡เป€เบญเบเบฐเบชเบฒเบ™เบญเป‰เบฒเบ‡เบญเบตเบ‡เปƒเบ™ repository เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ‚เบญเบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบงเปˆเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป„เบ”เป‰เบชเบปเปˆเบ‡เบงเบฑเบ”เบ–เบธเป€เบ•เบฑเบกเบ—เบตเปˆ, เป€เบŠเบดเปˆเบ‡เบ›เบฐเบซเบเบฑเบ”เป€เบงเบฅเบฒเป‚เบ”เบ. เบˆเปเบฒเบเบฑเบ”เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบชเบฐเป€เบžเบฒเบฐเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเป€เบญเบปเบฒเบ‚เปเป‰เบกเบนเบ™เป‚เบ”เบเบเบปเบ‡. เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบกเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปƒเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบกเบตเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบ—เบตเปˆเบกเบตเบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเบ‚เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบžเบฒเบเบ™เบญเบเบ—เบตเปˆเบ–เบทเบเบ•เบดเบ”เบ•เบฒเบก, เบšเปเปˆเบฅเบงเบกเป€เบญเบปเบฒเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”เบเบปเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ $remote เบซเบผเบธเบ”เบฅเบปเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” git fetch เบˆเบฒเบ 20 เบ™เบฒเบ—เบตเบซเบฒ 30 เบงเบดเบ™เบฒเบ—เบต. $git -c fetch.hideRefs=refs -c fetch.hideRefs=!refs/remotes/$remote \ fetch $remote
  • เบ„เปเบฒเบชเบฑเปˆเบ‡ "git fsck" เบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเบฒเบ™เบชเปเป‰เบฅเบฒเบ”เบšเบฑเบ‡เบซเบผเบงเบ‡, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบก checksum, เปเบฅเบฐเบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡เบ‚เบญเบ‡เบกเบนเบ™เบ„เปˆเบฒเปƒเบ™ bitmap เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เปเบฅเบฐเบ”เบฑเบ”เบชเบฐเบ™เบตเบ›เบตเป‰เบ™เบเบฑเบšเบเบฑเบ™.
  • เบ„เปเบฒเบชเบฑเปˆเบ‡ "git clone --local" เบ•เบญเบ™เบ™เบตเป‰เบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบžเบฐเบเบฒเบเบฒเบกเบ„เบฑเบ”เบฅเบญเบเบˆเบฒเบเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบ—เบตเปˆเบกเบต symlinks เบžเบฒเบเปƒเบ™ $GIT_DIR.

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

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