ืฉื—ืจื•ืจ ื‘ืงืจืช ืžืงื•ืจ ืฉืœ Git 2.37

ื”ื•ื›ืจื– ืขืœ ืฉื—ืจื•ืจื• ืฉืœ ืžืขืจื›ืช ื‘ืงืจืช ื”ืžืงื•ืจ ื”ืžื‘ื•ื–ืจ Git 2.37. Git ื”ื™ื ืื—ืช ืžืžืขืจื›ื•ืช ื‘ืงืจืช ื”ื’ืจืกืื•ืช ื”ืคื•ืคื•ืœืจื™ื•ืช, ื”ืืžื™ื ื•ืช ื•ื‘ืขืœื™ ื”ื‘ื™ืฆื•ืขื™ื ื”ื’ื‘ื•ื”ื™ื ื‘ื™ื•ืชืจ, ื”ืžืกืคืงืช ื›ืœื™ ืคื™ืชื•ื— ื’ืžื™ืฉื™ื ืœื ืœื™ื ืืจื™ื™ื ื”ืžื‘ื•ืกืกื™ื ืขืœ ื”ืกืชืขืคื•ืช ื•ืžื™ื–ื•ื’. ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ืืช ืฉืœืžื•ืช ื”ื”ื™ืกื˜ื•ืจื™ื” ื•ื”ืชื ื’ื“ื•ืช ืœืฉื™ื ื•ื™ื™ื ืจื˜ืจื•ืืงื˜ื™ื‘ื™ื™ื, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘-hashing ืžืจื•ืžื– ืฉืœ ื›ืœ ื”ื”ื™ืกื˜ื•ืจื™ื” ื”ืงื•ื“ืžืช ื‘ื›ืœ commit; ืืคืฉืจ ื’ื ืœืืฉืจ ืชื’ื™ื ื‘ื•ื“ื“ื™ื ื•ื”ืชื—ื™ื™ื‘ื•ื™ื•ืช ืขื ื—ืชื™ืžื•ืช ื“ื™ื’ื™ื˜ืœื™ื•ืช ืฉืœ ื”ืžืคืชื—ื™ื.

ื‘ื”ืฉื•ื•ืื” ืœืžื”ื“ื•ืจื” ื”ืงื•ื“ืžืช, ืื•ืžืฆื• ืœื’ืจืกื” ื”ื—ื“ืฉื” 395 ืฉื™ื ื•ื™ื™ื, ืฉื”ื•ื›ื ื• ื‘ื”ืฉืชืชืคื•ืช 75 ืžืคืชื—ื™ื, ืžืชื•ื›ื 20 ืœืงื—ื• ื—ืœืง ื‘ืคื™ืชื•ื— ืœืจืืฉื•ื ื”. ื—ื™ื“ื•ืฉื™ื ืขื™ืงืจื™ื™ื:

  • ื”ืžื ื’ื ื•ืŸ ืฉืœ ืื™ื ื“ืงืกื™ื ื—ืœืงื™ื™ื (ืื™ื ื“ืงืก ื“ืœ), ื”ืžื›ืกื” ืจืง ื—ืœืง ืžื”ืžืื’ืจ, ื”ื•ื›ืŸ ืœืฉื™ืžื•ืฉ ื ืจื—ื‘. ืื™ื ื“ืงืกื™ื ื—ืœืงื™ื™ื ื™ื›ื•ืœื™ื ืœืฉืคืจ ืืช ื”ื‘ื™ืฆื•ืขื™ื ื•ืœื—ืกื•ืš ืžืงื•ื ื‘ืžืื’ืจื™ื ื”ืžื‘ืฆืขื™ื ืคืขื•ืœื•ืช ืฉื™ื‘ื•ื˜ ื—ืœืงื™ (ื“ืœื™ืœื”) ืื• ืขื•ื‘ื“ื™ื ืขื ืขื•ืชืง ืœื ืฉืœื ืฉืœ ื”ืžืื’ืจ. ื”ืžื”ื“ื•ืจื” ื”ื—ื“ืฉื” ืžืฉืœื™ืžื” ืืช ื”ืฉื™ืœื•ื‘ ืฉืœ ืื™ื ื“ืงืกื™ื ื—ืœืงื™ื™ื ื‘-git show, git sparse-checkout ื•ืคืงื•ื“ื•ืช git stash. ื”ื™ืชืจื•ืŸ ื”ื‘ื™ืฆื•ืขื™ื ื”ื‘ื•ืœื˜ ื‘ื™ื•ืชืจ ืžืฉื™ืžื•ืฉ ื‘ืื™ื ื“ืงืกื™ื ื—ืœืงื™ื™ื ื ืจืื” ืขื ื”ืคืงื•ื“ื” git stash, ืฉืจืืชื” ืขืœื™ื™ื” ืฉืœ 80% ื‘ืžื”ื™ืจื•ืช ื”ื‘ื™ืฆื•ืข ื‘ืžืฆื‘ื™ื ืžืกื•ื™ืžื™ื.
  • ืžื ื’ื ื•ืŸ ื—ื“ืฉ ืฉืœ "ื—ื‘ื™ืœื•ืช cruft" ื”ื•ื˜ืžืข ืœืืจื™ื–ืช ืื•ื‘ื™ื™ืงื˜ื™ื ื‘ืœืชื™ ื ื™ืชื ื™ื ืœื”ืฉื’ื” ืฉืื™ื ื ืžื•ื–ื›ืจื™ื ื‘ืžืื’ืจ (ืฉืื™ื ื ืžื•ื–ื›ืจื™ื ืขืœ ื™ื“ื™ ืขื ืคื™ื ืื• ืชื’ื™ื). ืื•ื‘ื™ื™ืงื˜ื™ื ืฉืœื ื ื™ืชืŸ ืœื”ื’ื™ืข ืืœื™ื”ื ื ืžื—ืงื™ื ืขืœ ื™ื“ื™ ืืกืคืŸ ื”ืืฉืคื”, ืืš ื ืฉืืจื™ื ื‘ืžืื’ืจ ืœื–ืžืŸ ืžืกื•ื™ื ืœืคื ื™ ืฉื”ื ื ืžื—ืงื™ื ื›ื“ื™ ืœื”ื™ืžื ืข ืžืชื ืื™ ืžื™ืจื•ืฅ. ื›ื“ื™ ืœืขืงื•ื‘ ืื—ืจ ืชืงื•ืคืช ื”ืชืจื—ืฉื•ืชื ืฉืœ ืื•ื‘ื™ื™ืงื˜ื™ื ื‘ืœืชื™ ื ื™ืชื ื™ื ืœื”ืฉื’ื”, ื™ืฉ ืฆื•ืจืš ืœืฆืจืฃ ืืœื™ื”ื ืชื’ื™ื•ืช ืขื ื–ืžืŸ ื”ืฉื™ื ื•ื™ ืฉืœ ืื•ื‘ื™ื™ืงื˜ื™ื ื“ื•ืžื™ื, ืžื” ืฉืœื ืžืืคืฉืจ ืœืื—ืกืŸ ืื•ืชื ื‘ืงื•ื‘ืฅ ื—ื‘ื™ืœื” ืื—ื“ ืฉื‘ื• ืœื›ืœ ื”ืื•ื‘ื™ื™ืงื˜ื™ื ื™ืฉ ื–ืžืŸ ืฉื™ื ื•ื™ ืžืฉื•ืชืฃ. ื‘ืขื‘ืจ, ืฉืžื™ืจืช ื›ืœ ืื•ื‘ื™ื™ืงื˜ ื‘ืงื•ื‘ืฅ ื ืคืจื“ ื”ื•ื‘ื™ืœื” ืœื‘ืขื™ื•ืช ื›ืืฉืจ ื”ื™ื• ืžืกืคืจ ืจื‘ ืฉืœ ืื•ื‘ื™ื™ืงื˜ื™ื ื˜ืจื™ื™ื ื•ื‘ืœืชื™ ื ื™ืชื ื™ื ืœื”ืฉื’ื” ืฉืขื“ื™ื™ืŸ ืœื ื”ื™ื• ื›ืฉื™ืจื™ื ืœืžื—ื™ืงื”. ืžื ื’ื ื•ืŸ "ื—ื‘ื™ืœื•ืช cruft" ื”ืžื•ืฆืข ืžืืคืฉืจ ืœืš ืœืื—ืกืŸ ืืช ื›ืœ ื”ืื•ื‘ื™ื™ืงื˜ื™ื ืฉืื™ื ื ื ื™ืชื ื™ื ืœื”ืฉื’ื” ื‘ืงื•ื‘ืฅ ื—ื‘ื™ืœื” ืื—ื“, ื•ืœืฉืงืฃ ื ืชื•ื ื™ื ืขืœ ื–ืžืŸ ื”ืฉื™ื ื•ื™ ืฉืœ ื›ืœ ืื•ื‘ื™ื™ืงื˜ ื‘ื˜ื‘ืœื” ื ืคืจื“ืช ื”ืžืื•ื—ืกื ืช ื‘ืงื•ื‘ืฅ ืขื ืกื™ื•ืžืช ".mtimes".
  • ืขื‘ื•ืจ Windows ื•-macOS, ืงื™ื™ื ืžื ื’ื ื•ืŸ ืžื•ื‘ื ื” ืœืžืขืงื‘ ืื—ืจ ืฉื™ื ื•ื™ื™ื ื‘ืžืขืจื›ืช ื”ืงื‘ืฆื™ื, ื”ืžืืคืฉืจ ืœืš ืœื”ื™ืžื ืข ืžืื™ื˜ืจืฆื™ื” ืขืœ ื›ืœ ืกืคืจื™ื™ืช ื”ืขื‘ื•ื“ื” ื‘ืขืช ื‘ื™ืฆื•ืข ืคืขื•ืœื•ืช ื›ื’ื•ืŸ "ืกื˜ื˜ื•ืก git". ื‘ืขื‘ืจ, ื›ื“ื™ ืœืขืงื•ื‘ ืื—ืจ ืฉื™ื ื•ื™ื™ื, ื›ืœื™ ืขื–ืจ ื—ื™ืฆื•ื ื™ื™ื ืœืžืขืงื‘ ืื—ืจ ืฉื™ื ื•ื™ื™ื ื‘-FS, ื›ื’ื•ืŸ Watchman, ื™ื›ืœื• ืœื”ื™ื•ืช ืžื—ื•ื‘ืจื™ื ื‘ืืžืฆืขื•ืช ื•ื•ื™ื, ืืš ื”ื“ื‘ืจ ื”ืฆืจื™ืš ื”ืชืงื ื” ืฉืœ ืชื•ื›ื ื™ื•ืช ื ื•ืกืคื•ืช ื•ืชืฆื•ืจื”. ื›ืขืช ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืฉืฆื•ื™ื ื” ืžื•ื‘ื ื™ืช ื•ื ื™ืชืŸ ืœื”ืคืขื™ืœ ืื•ืชื” ื‘ืืžืฆืขื•ืช ื”ืคืงื•ื“ื” "git config core.fsmonitor true".
  • ื‘ืคืงื•ื“ื” "git sparse-checkout" ื”ื•ื›ืจื–ื” ืชืžื™ื›ื” ื‘ื—ืœื•ืคื” ืœืžืฆื‘ "-cone", ืฉื™ื˜ืช ื”ื’ื“ืจืช ื”ืชื‘ื ื™ื•ืช ืœืฉื™ื‘ื•ื˜ ื—ืœืงื™, ืžื™ื•ืฉื ืช, ืžื” ืฉืžืืคืฉืจ, ื‘ืขืช ืงื‘ื™ืขืช ื”ื—ืœืง ื‘ืžืื’ืจ ื”ื›ืคื•ืฃ ืœ ืคืขื•ืœืช ื”ืฉื™ื‘ื•ื˜, ืœืจืฉื™ืžืช ืงื‘ืฆื™ื ื‘ื•ื“ื“ื™ื ืชื•ืš ืฉื™ืžื•ืฉ ื‘ืชื—ื‘ื™ืจ ".gitignore", ืฉืื™ื ื• ืžืืคืฉืจ ืฉื™ืžื•ืฉ ืขื‘ื•ืจ ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืฉืœ ืื™ื ื“ืงืกื™ื ื—ืœืงื™ื™ื.
  • ื’ืžื™ืฉื•ืช ืžื•ื’ื‘ืจืช ื‘ื”ื’ื“ืจืช ื”ืงืจื™ืื” fsync() ืœื ื™ืงื•ื™ ืฉื™ื ื•ื™ื™ื ื‘ื“ื™ืกืง. ืชืžื™ื›ื” ื‘ืืกื˜ืจื˜ื’ื™ื™ืช ื”ืกื ื›ืจื•ืŸ "ืืฆื•ื•ื”" ื ื•ืกืคื” ืœืคืจืžื˜ืจ "core.fsyncMethod", ื”ืžืืคืฉืจ ืœื”ืื™ืฅ ืืช ื”ืขื‘ื•ื“ื” ื‘ืขืช ื›ืชื™ื‘ืช ืžืกืคืจ ืจื‘ ืฉืœ ืงื‘ืฆื™ื ื‘ื•ื“ื“ื™ื ืขืœ ื™ื“ื™ ืฆื‘ื™ืจืช ืฉื™ื ื•ื™ื™ื ื‘ืžื˜ืžื•ืŸ ื”ื›ืชื™ื‘ื”, ืืฉืจ ืžืื•ืคืก ืขืœ ื™ื“ื™ fsync() ื™ื—ื™ื“. ืฉื‚ึดื™ื—ึธื”. ื”ื‘ื“ื™ืงื”, ืฉื”ื‘ื™ืื” ืœื”ื•ืกืคืช 500 ืงื‘ืฆื™ื ื‘ืืžืฆืขื•ืช ื”ืคืงื•ื“ื” "git add", ื”ื•ืฉืœืžื” ืชื•ืš 0.15 ืฉื ื™ื•ืช ื›ืืฉืจ ื”ืžืฆื‘ ื”ื—ื“ืฉ ื”ื•ืคืขืœ, ื‘ืขื•ื“ ื”ืงืจื™ืื” ืœ-fsync() ืืจื›ื” 1.88 ืฉื ื™ื•ืช ืœื›ืœ ืงื•ื‘ืฅ, ื•ืœืœื ืฉื™ืžื•ืฉ ื‘-fsync - 0.06 ืฉื ื™ื•ืช.
  • ืœืคืงื•ื“ื•ืช ืžืขื‘ืจ ืกื ื™ืคื™ื ื›ืžื• "git log" ื•-"git rev-list" ื™ืฉ ื›ืขืช ืืคืฉืจื•ืช "-since-as-filter=X" ื”ืžืืคืฉืจืช ืœืš ืœืกื ืŸ ืžื™ื“ืข ืขืœ commits ืฉื’ื™ืœื ื™ื•ืชืจ ืž-"X". ื‘ื ื™ื’ื•ื“ ืœืืคืฉืจื•ืช "-ืžืื–", ื”ืคืงื•ื“ื” ื”ื—ื“ืฉื” ืžื™ื•ืฉืžืช ื›ืžืกื ืŸ ืฉืื™ื ื• ืขื•ืฆืจ ืืช ื”ื—ื™ืคื•ืฉ ืœืื—ืจ ื”-commit ื”ืจืืฉื•ืŸ ื™ืฉืŸ ื™ื•ืชืจ ืžื”ื–ืžืŸ ืฉืฆื•ื™ืŸ.
  • ื‘ืคืงื•ื“ื” "git remote", ื›ืืฉืจ ืžืฆื™ื™ื ื™ื ืืช ื”ื“ื’ืœ "-v", ืžื•ืฆื’ ืžื™ื“ืข ืขืœ ืฉื™ื‘ื•ื˜ื™ื ื—ืœืงื™ื™ื ืฉืœ ื”ืžืื’ืจ.
  • ื ื•ืกืคื” ื”ื’ื“ืจื” "transfer.credentialsInUrl", ืฉื™ื›ื•ืœื” ืœืงื‘ืœ ืืช ื”ืขืจื›ื™ื "ืื–ื”ืจื”", "ืœืžื•ืช" ื•"ืืคืฉืจ". ืื ืฆื•ื™ืŸ ื‘ืคืจืžื˜ืจ "ืžืจื—ื•ืง. ืื™ืฉื•ืจื™ ื˜ืงืกื˜ ืจื’ื™ืœ ืฉืœ .url, ื ื™ืกื™ื•ืŸ ืœื‘ืฆืข ืคืขื•ืœืช "ืื—ื–ื•ืจ" ืื• "ื“ื—ื™ืคื”" ื™ื™ื›ืฉืœ ืขื ืฉื’ื™ืื” ืื โ€‹โ€‹ื”ื”ื’ื“ืจื” "transfer.credentialsInUrl" ืžื•ื’ื“ืจืช ืœ-"die", ืื• ืื–ื”ืจื” ืื ืžื•ื’ื“ืจืช ืœ-"warn".
  • ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ื”ื™ื™ืฉื•ื ื”ื—ื“ืฉ ืฉืœ ื”ืžืฆื‘ ื”ืื™ื ื˜ืจืืงื˜ื™ื‘ื™ ืฉืœ ื”ืคืงื•ื“ื” "git add -i", ืฉื ื›ืชื‘ ืžื—ื“ืฉ ืž-Perl ืœ-C, ืžื•ืคืขืœ.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”