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

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

αž”αžΎαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž‘αŸ…αž“αžΉαž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž˜αž»αž“ αž€αŸ†αžŽαŸ‚αžαŸ’αž˜αžΈαžšαž½αž˜αž˜αžΆαž“αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž…αŸ†αž“αž½αž“ 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" αž₯αž‘αžΌαžœαž“αŸαŸ‡αž–αž·αž…αžΆαžšαžŽαžΆαž’αŸ†αž–αžΈαžœαžαŸ’αžαž˜αžΆαž“αž“αŸƒαž€αžΆαžšαž”αŸ’αžšαž–αŸ’αžšαžΉαžαŸ’αžαž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŠαŸ‚αž›αž”αžΆαž“αž—αŸ’αž‡αžΆαž”αŸ‹ (αž†αŸ’αž›αžΆαžŸαŸ‹αž‚αŸ’αž“αžΆαŸ”);
  • αž”αž“αŸ’αžαŸ‚αž˜ αž‡αž˜αŸ’αžšαžΎαžŸ "git αžŸαŸ’αžαžΈαž”αž“αŸ’αž‘αŸ„αžŸ β€”ignore-rev" αž“αž·αž„ "-ignore-revs-file" αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžšαŸ†αž›αž„αž€αžΆαžšαž”αŸ’αžšαž–αŸ’αžšαžΉαžαŸ’αžαžŠαŸ‚αž›αž’αŸ’αžœαžΎαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž”αž“αŸ’αžαž·αž…αž”αž“αŸ’αžαž½αž… (αž§αž‘αžΆαž αžšαžŽαŸ αž€αžΆαžšαž‡αž½αžŸαž‡αž»αž›αž‘αž˜αŸ’αžšαž„αŸ‹) αŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‡αž˜αŸ’αžšαžΎαžŸ "git cherry-pick β€”skip" αžŠαžΎαž˜αŸ’αž”αžΈαžšαŸ†αž›αž„αž€αžΆαžšαž”αŸ’αžαŸαž‡αŸ’αž‰αžΆαž…αž·αžαŸ’αžαžŠαŸ‚αž›αž˜αžΆαž“αž‡αž˜αŸ’αž›αŸ„αŸ‡ (αž’αžΆαžŽαžΆαž‘αžΌαž€αžŠαŸ‚αž›αž”αžΆαž“αž‘αž“αŸ’αž‘αŸαž‰αž…αžΆαŸ†αž“αŸƒ "git reset && git cherry-pick β€”continue" sequence);
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹ status.aheadBehind αžŠαŸ‚αž›αž‡αž½αžŸαž‡αž»αž›αž‡αž˜αŸ’αžšαžΎαžŸ "αžŸαŸ’αžαžΆαž“αž—αžΆαž– git -[no-]ahead-behind" αž‡αžΆαž’αž…αž·αž“αŸ’αžαŸ’αžšαŸƒαž™αŸαŸ”
  • αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž“αŸαŸ‡ "git log" αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αžαŸ’αžšαžΌαžœαž‚αž·αžαž–αžΈαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‚αžŽαž“αžΈαžŠαŸ‚αž›αž’αŸ’αžœαžΎαž‘αžΎαž„αžŠαŸ„αž™ mailmap αžŸαŸ’αžšαžŠαŸ€αž„αž‘αŸ…αž“αžΉαž„αžšαž”αŸ€αž”αžŠαŸ‚αž› git shortlog αž”αžΆαž“αž’αŸ’αžœαžΎαžšαž½αž…αž αžΎαž™αŸ”
  • αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαžαž“αŸƒαžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž–αž·αžŸαŸ„αž’αž“αŸαž“αŸƒαž€αŸ’αžšαžΆαž αŸ’αžœ commit (core.commitGraph) αžŠαŸ‚αž›αž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž€αŸ’αž“αž»αž„ 2.18 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž“αŸ’αž›αžΏαž“αž™αŸ‰αžΆαž„αžαŸ’αž›αžΆαŸ†αž„αŸ” αž€αŸαž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™ git αžŸαž˜αŸ’αžšαžΆαž”αŸ‹-αž“αžΈαž˜αž½αž™αŸ—-ref αž›αžΏαž“αž‡αžΆαž„αž˜αž»αž“αž“αŸ…αž–αŸαž›αž”αŸ’αžšαžΎαž‚αŸ†αžšαžΌαž…αŸ’αžšαžΎαž“ αž“αž·αž„αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž…αŸ†αž“αž½αž“αž“αŸƒαž€αžΆαžšαž αŸ…αž‘αŸ… auto-gc αž“αŸ…αž€αŸ’αž“αž»αž„ β€œgit fetch β€”multiple”;
  • αž₯αž‘αžΌαžœαž“αŸαŸ‡ "git branch --list" αžαŸ‚αž„αžαŸ‚αž”αž„αŸ’αž αžΆαž‰ HEAD αžŠαŸ‚αž›αž•αŸ’αžŠαžΆαž…αŸ‹αž“αŸ…αžŠαžΎαž˜αž”αž‰αŸ’αž‡αžΈ αžŠαŸ„αž™αž˜αž·αž“αž‚αž·αžαž–αžΈαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αŸ”

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

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