ืืืฉืืืื ืืืืืืจื ืืงืืืืช, ืืืจืกื ืืืืฉื ืืืื 544 ืฉืื ืืืื, ืฉืืืื ื ืืืฉืชืชืคืืช 78 ืืคืชืืื, ืืชืืื 21 ืืงืื ืืืง ืืคืืชืื ืืจืืฉืื ื.
- ื ืืกืคื ืชืืืื ืืคืงืืืืช ืืืงืจื ืชืฆืืจื, ืฉืืืืฆืขืืชื ื ืืชื ืืขืืืจ ืืืืืจืืช ืืื ืงืืืฆืืช ืฉืื ืืช ืฉื ืืืืจืืช ืืืื ืืืืื ืก ืืคืจืืื ืขื ืืืคืฉืจืืืืช ืืกืคืฆืืคืืืช ืืงืฉืืจืืช ืืืืื. ืืขืืจืช ืคืงืืืืช ืืืงืจื, ืืื ืฆืืจื ืืืืืจ ืืืื ืืืืจืืช ืฆืจืื ืืฉื ืืช ืืื ืืืคืขืื ืคืื ืงืฆืืื ืืืืช ืืื ืื ืืืจืช. ืืืืืื, ืื ืืืืจ ืืืื ืืื ืืืื, ืืืชืื ืฉืชืจืฆื ืืขืืืจ ืืื ืืข ืืื ืืงืก ืืืฉ, ืืืคืฉืจ ืืืืกืช ืงืืืืืช ื ืชืื ืืืืคืฉืจ ืืช ืืืืื ืืงืืฆืื ืืืืชื ืืขืงื ืขื ืืื ืืืืจืช index.version ื-4 ืืืคืขืืช core.untrackedCache. ืืืงืจื ืืืคืฉืจืื ืื ืื ืืืืื ืืื ืืืืคืืฉ ืืืจ ืืคืชืจืื ืื ืืื ืืชืืขืื, ืืื ืืืคืขืื ืืื ืืืืจืืช ืขื ืืืคืืืืืืฆืืืช ืขืืืจ ืืืืจืื ืขื ืืกืคืจ ืจื ืฉื ืงืืฆืื:
git config feature.manyFiles true
- ืืืคืขื ืืืจืืจืช ืืืื ืืืกืื ืืืืืืงืืื ืืฆืืจื ืฉื ืืจืฃ commit (commit-graph), ืฉืื ืื ืจืฉืืื ืืื ืืืจืืช ืฉื hashes ืฉื ืืืืืืงืืื ืขื ืงืืฉืืจืื ืืืืืืืงืืื ืืืจืื, ืืื ืืื ื ืืฆืืจื ืฉื ืืจืฃ ืืฉืืฉ ืืืื ืืงืก . ืื ืืขืืจ, ืืื ืืงืืืข ืืช ืืืืืืจืืช ืืืืืืืช ืชืืงืื ืืกืืื, ืืื ืฆืืจื ืืืขืื ืื ืืืืืืงื ืืืืกืง ืืื ืืืคืฉ ืงืืฉืืจืื, ืื ืืืฉืจ ืืืืืกื ืื ืืฆืืจื ืฉื ืืจืฃ, ืืชื ืืืื ืืื ืืงืืืข ืืช ืื ืืงืืฉืืจืื ืืืจืืฉืื. ืืขืืจ ืืืืกืื ืืฆืืจื ืฉื ืืจืฃ commit ื-Linux kernel ื-Git repositories ืืคืฉืจื ืื ื ืืืืืข ืืขืืืื ืืืขื ืคื ืฉื ืืื ืืืืฆืืขื ืืคืขืืืืช ืขื ืกื ืืคืื. ืืื ืืืคืขืื ืืช ืฉืืืช ืืืืกืื ืืืืฉื ืืืืจ ืฉืืจืื ื-Git 2.24, ืขืืื ืืืคืขืื ืืช ืืคืงืืื "git gc".
ืืื ืืฉืื ืืืื ืืงืฉืืจืื ื-commit-graph, ื ืฆืืื ืื ืื ืืืื ืืืฉืื ืืืืื ืืชืงืืืืช ืืคืขืืื ืืคืงืืืืช ืืงืฉืืจืืช ื-commit-graph ("git commit-graph write", "git commit-graph verify" ืืื') ืืฆืืจื ืืฉืืชืคืช ืขื ืคืงืืืืช ืืืจืืช...). ืืืืื ืืืชืงืืืืช ืืืฆื ืืขืช ืจืง ืขืืืจ ืืืจืืื ื ืืืจืืจืช ืืืื (ืืฉืชืืฉ ืืืคืฉืจืืช "-[ืื-]ืืชืงืืืืช" ืืื ืืฉื ืืช ืืช ืืืชื ืืืืช). ืื ืืกืฃ, ื ืืกืฃ ืคืจืืืจ ืงืื ืคืืืืจืฆืื ืืืฉ fetch.writeCommitGraph, ืืืืคืฉืจ ืขืืืื ืืืืืืื ืฉื ืืงืืืฅ ืขื ืืจืฃ ื-commit ืืืืื ืคืขืืืืช "git fetch" (ืื ื-commits ืฉืืืืืจื ืืืืืจืื ืืืฆืื ืืื ืืขืืจื ืืื ื-commit-graph ืืื ืฆืืจื ืืคืขื ืืช auto-gc ืื ืคืจื);
- ื ืืกืคื ืคืงืืื ืืื ืืืืืืฃ ืืช ืืืกืืืจืืืช ืืฉืื ืืืื - "
git filter-repo ", ืฉืืื ืืืืคื ืคืฉืืื ืืืชืจ ืืคืงืืื"ืขื ืฃ ืคืืืืจ ืืื ยป ืืืืฆืืข ืคืขืืืืช ืขื ืืืกืืืจืืืช ืืฉืื ืืืื ืืืืืจ (ืืืืืื, ืืืืงืช ืงืืืฅ ืืืืืืจ ืื ืืืืืจ ืืืกืืืจืืืช ืืฉืื ืืืื ืืกืคืจืืื ืกืคืฆืืคืืช). ืืื ืืฉืคืจ ืืช ืืืขืืืืช, ืืืงืื ื ืืชืื ืืกืืืจ ืฉื commit-by-commit, git filter-repo ืืืฆืข ืคืขืืืืช ืขื ืืืฆืื ืืืืกืืืจืื ืืฆืืจื ืฉื ืืจื ืจืฆืืฃ.ืกืื ืื ืืืืกืืืจืื ืืชืืฆืข ืืืืฆืขืืช ืืืคืฉืจืืช "-path-{glob,regex}", ืืืืคืฉืจืช ืื ืืืฉืชืืฉ ืื ืืืกืืืช ืคืฉืืืืช ืืื ืืืืืืืื ืจืืืืจืืื. ืืฉ ืื ืืคืฉืจืืืืช ืืืฆืข ืืืคืืฉ ืืืืืืืฃ ืื ืื ืงืืช ืืืืืืงืืื ืืื ืืจืืื ืฉืืืืืื ืืืืื ืืกืืื. ืื commit ืฉื ืืชื ืืืืฉ ืืกืืคืง ืขื ืืืื hash ืืืฉ SHA-1 ืืื ืืืคื ืืืช ื-commit ืฉืืืืืฃ ืืชืขืืื ืืช ืืืชืื ืืืืื ืืืืฉ.
ืืื ืืืฆืื ืกืืืื ืฉื ืกืืืืกืืืงืืช ืืืื ืืืืืจ (ืืกืคืจ ืืืืืืงืืื ืืคื ืกืื, ืงืืฆืื ืืกืคืจืืืช ืืืืืืืช ืืืืชืจ, ืืืื ืืจืืืืช ืืืจืฉืืช ืืืชืจ ืฉืื ืืืกืง ืืื'), ื ืืชื ืช ืืืคืฉืจืืช "-analyze". ืืื ืืืจืืื ืืช ืืคืื ืงืฆืืื ืืืืช, ืืคืฉืจ ืืืืจ ื-Python ืืืคืืื ืฉืจืืจืืชืืื ืืืชืงืฉืจืืช ืืืืจืช, ืฉืืืืฆืขืืชื ื ืืชื ืื ืืืฆืืจ ืคืงืืืืช ืืฉื ื ืืืฉืืช ืืื ืืขืื ืืืจืืขืื ืฉืื ืื (ืืืืืื, ืกืืื ืงืืฆืื ืืืฉืื);
- ื ืืกืคื ืืคืฉืจืืช "--end-of-options" ืืืคืจืืช ืืคืฉืจืืืืช ืืฉืืืช ืงืืฉืืจืื, ืฉืืืืืืช ืืืชืืื ืขื ืชื "-" ืืืืชืืืืก ืืืืื ืืืคืฉืจืืืืช ("git log --end-of-options -super-dangerous-option" ). ืื ืืืื ืืืืืืื ืืคืฉืจ ืืืจืื ืืฉืืืช ืืืื ืืื "git log 'refs/heads/-super-dangerous-option'", ืื ืืชืกืจืืืื ืขืืืืืช ืืืืืช ืืขืืืช ืืืืืจืช ืืจืื ืืฉืืืช. ืืืคืจืื ืืืงืืื " - " ืืื ื ืืฉืื ืืืงืจื ืื, ืืืืืื ืฉืืื ืืืจ ืืฉืืฉ ืืืคืจืืช ืฉืืืช ืงืืฉืืจืื ืืงืืฆืื (ืืืืืื, "git log โend-of-options โsuper-dangerous-option ^master โ path/to /ืงืึนืึถืฅ");
- ื ืืกืคื ืืคืฉืจืืืืช "--strategy" ื-"--strategy-option" ื-"git rebase --rebase-merges" ืืื ืืืืืจ
ืืกืืจืืืืืช ืืืืื ; - ื ืืกืฃ ืืืคื ืืืฉ ืืกืื ".git/hooks/pre-merge-commit" ืื ืงืจื ืืืืจ ืืฉืืืช ืืืืืื ืื ืืคื ื ืืชืืืช ื-commit ืืืชืงืื;
- ืชืืืื ืืืฉืืืช ืืฉืชื ื ืชืฆืืจื ืืืืก ืืืืืจืืช ืฉื ืคืงืืืืช ืกืคืฆืืคืืืช ื ืืกืคื ืืื ืืข ืืฉืืืช ืืคืงืืืืช.
ืืืืืื, ืื ืืชื ืฆืจืื ืืืงืืื "git -c core.autocrlf=false add path/to/my/file" ืืื ืื ืืืืจ ืืช ืืฉื ืืืืืืง ืฉื ืืืฉืชื ื "core.autocrlf", ืืชื ืืืื ืืืืืฅ ืขื Tab ืืืงืื ืจึถืึถื.
ืื ืืกืฃ, ืืคืชืื Git
ืืงืืจ: OpenNet.ru