ืืืืจ ืฉืืืฉื ืืืืฉืื ืฉื ืคืืชืื, ืคืืจืกื ืฉืืจืืจ ืืขืจืืช ืืงืจืช ืืืงืืจ ืืืืืืจ Git 2.41. Git ืืื ืืืช ืืืขืจืืืช ืืงืจืช ืืืจืกืืืช ืืคืืคืืืจืืืช, ืืืืื ืืช ืืืขืื ืืืืฆืืขืื ืืืืืืื ืืืืชืจ ืืืกืคืงืช ืืื ืคืืชืื ืืืืฉืื ืื ืืื ืืืจืืื ืืืืืกืกืื ืขื ืืกืชืขืคืืช ืืืืืื ืกื ืืคืื. ืืื ืืืืืื ืืช ืฉืืืืช ืืืืกืืืจืื ืืืชื ืืืืช ืืฉืื ืืืื ืจืืจืืืงืืืืืื, ื ืขืฉื ืฉืืืืฉ ื-hashing ืืจืืื ืฉื ืื ืืืืกืืืจืื ืืงืืืืช ืืื commit, ืืคืฉืจ ืื ืืืืช ืชืืืืช ืืืชืืืืืืืืช ืืืืืืช ืขื ืืชืืืืช ืืืืืืืืืช ืืืืคืชืืื.
ืืืฉืืืื ืืืืืืจื ืืงืืืืช, ืืชืงืืื ืืืจืกื ืืืืฉื 542 ืฉืื ืืืื ืฉืืืื ื ืืืฉืชืชืคืืช 95 ืืคืชืืื, ืืชืืื 29 ืืงืื ืืืง ืืคืืชืื ืืจืืฉืื ื. ืืืืืฉืื ืขืืงืจืืื:
- ืืืคืื ืืฉืืคืจ ืืืืืืืงืืื ืืืชื ื ืืชื ืื ืืืฉืื ืฉืืื ื ืืืืืจืื ืืืืืจ (ืืื ืืคื ืื ืืขื ืคืื ืื ืืชืืื). ืืคืฆืื ืฉืื ื ืืชื ืืืืืข ืืืืื ืืืกืจืื ืขื ืืื ืืกืคื ืืืฉืคื, ืื ื ืฉืืจืื ืืืืืจ ืืืฉื ืืื ืืกืืื ืืคื ื ืืืกืจื ืืื ืืืืื ืข ืืชื ืื ืืืจืืฅ. ืืื ืืขืงืื ืืืจ ืชืงืืคืช ืืืืืืืงืืื ืืืืชื ื ืืชื ืื ืืืฉืื, ืืฉ ืฆืืจื ืืงืฉืืจ ืืืืื ืชืืืืืช ืขื ืืื ืืฉืื ืื ืฉื ืืืืืืงืืื ืืืืื, ืื ืฉืื ืืืคืฉืจ ืืืืกื ืืืชื ื-pack-file ืืื, ืฉืื ืืื ืืืืืืืงืืื ืืฉ ืืื ืฉืื ืื ืืฉืืชืฃ. ืืขืืจ, ืื ืืืืืืงื ืืืชื ื ืืชื ืืืฉืื ื ืฉืืจ ืืงืืืฅ ื ืคืจื, ืื ืฉืืืืื ืืืขืืืช ืื ืืื ืืกืคืจ ืจื ืฉื ืืืืืืงืืื ืืจืืื ืืืชื ื ืืชื ืื ืืืฉืื ืฉืขืืืื ืื ืืื ื ืชืื ืื ืืืืืงื. ืืืืืืจื ืืืืฉื, ืืืจืืจืช ืืืื, ืื ืื ืื "ืืืืืืช cruft" ืืฉืืฉ ืืืจืืืช ืืืืืืงืืื ืืืชื ื ืืชื ืื ืืืฉืื, ืื ืฉืืืคืฉืจ ืืืืกื ืืช ืื ืืืืืืืงืืื ืืืืชื ื ืืชื ืื ืืืฉืื ืืงืืืฅ ืืืืื ืืื, ืืืฉืงืฃ ืืช ืื ืชืื ืื ืขื ืืื ืืฉืื ืื ืฉื ืื ืืืืืืงื ืืืืื ื ืคืจืืช ืืืืืืกื ืช ืืงืืืฅ ืงืืืฅ ืขื ืกืืืืช ".mtimes" ืืืงืืฉืจ ืืืืฆืขืืช ืงืืืฅ ืืื ืืงืก ืขื ืกืืืืช ".idx".
- ืืืจืืจืช ืืืื, ืฉืืืจื ืขื ืืื ืืงืก ืืคืื (revindex) ืืืืกืง ืขืืืจ ืงืืืฆื ืืืืื ืืืคืขืืช. ืืืฉืจ ื ืืืง ืขื ืืืืจื torvalds/linux, ืืฉืืืืฉ ืืืื ืืงืก ืืคืื ืืืคืฉืจ ืื ื ืืืืืฅ ืคืขืืืืช "git push" ืขืชืืจืืช ืืฉืืืื ืคื 1.49, ืืคืขืืืืช ืคืฉืืืืช, ืืื ืืืฉืื ืืืื ืฉื ืืืืืืงื ืืืื ืืืืฆืขืืช "git cat- file --batch='%(objectsize:disk)' ยป 77 ืคืขืืื. ืงืืฆืื (".rev") ืขื ืืื ืืงืก ืืคืื ืืืืืกื ื ืืชืื ืืืืืจ ืืกืคืจืืืช ".git/objects/pack".
ื ืืืืจ ืฉ-Git ืืืืกื ืืช ืื ืื ืชืื ืื ืืฆืืจื ืฉื ืืืืืืงืืื, ืฉืืืืงืืื ืืงืืฆืื ื ืคืจืืื. ืืื ืืืืืืจ ืืช ืืขืืืืช ืืขืืืื ืขื ืืืืืจ, ืืืืืืงืืื ืืืืงืืื ืื ืืกืฃ ืืงืืฆื ืืืืื, ืฉืืื ืืืืืข ืืืฆื ืืฆืืจื ืฉื ืืจื ืืืืืืงืืื ืืขืืงืืื ืืื ืืืจ ืื (ืืคืืจืื ืืืื ืืฉืชืืฉืื ืืืขืืจืช ืืืืืืงืืื ืขื ื-git fetch ื-git ืคืงืืืืช ืืืืคื). ืืื ืงืืืฅ ืืืืื ื ืืฆืจ ืงืืืฅ ืืื ืืงืก (.idx), ืืืืคืฉืจ ืืงืืืข ืืืืืจืืช ืจืื ืืช ืืืืกื ืืงืืืฅ ื-pack ืืคืื ืืืืืืืงื ืื ืชืื ืืืืืกื ืขื ืืื ืืืื ืืืืืืืงื.
ืืืื ืืงืก ืืืคืื ืฉื ืืื ืืืืืืจื ืืืืฉื ื ืืขื ืืืืขื ืืช ืชืืืื ืงืืืขืช ืืืื ืืืืืืืงื ืืชืื ืืืืข ืขื ืืืงืื ืืืืืืืงื ืืงืืืฅ ืืืืืื. ืืขืืจ, ืืืจื ืืื ืืืฆืขื ืชืื ืืื ื ืืชืื ืฉื ืงืืืฅ ื-pack ืื ืฉืืจื ืจืง ืืืืืจืื, ืื ืฉืื ืืืคืฉืจ ืฉืืืืฉ ืืืืจ ืืืื ืืงืกืื ืืืื ืืืืืฅ ืืช ืืืื ืืงืก ืืืืืืฆืจ ืืื ืคืขื. ืคืขืืืช ืื ืืืช ืืืื ืืงืก ืืฆืืืฆืืช ืืื ืืืช ืืขืจื ืฉื ืืืืืช ืืืงืื ืืืืืืงื ืืืืื ืืคื ืืืงืื, ืื ืฉืืืื ืืงืืช ืืื ืจื ืขืืืจ ืงืืฆื ืืืืื ืืืืืื.
ืืืืืื, ืคืขืืืช ืืฆืืช ืืชืืื ืฉื ืืืืืืงืืื, ืืืฉืชืืฉืช ืืืื ืืงืก ืืฉืืจ, ืืืืชื ืืืืจื ืคื 62 ืืคืขืืืช ืืฆืืช ืืืืื ืฉื ืืืืืืงืืื, ืฉืขืืืจื ืื ื ืืกืคื ืืืื ืืงืก ื ืชืื ื ืืงืฉืจ ืืื ืืืงืื ืืืืืืืงื. ืืืืจ ืืฉืืืืฉ ืืืื ืืืคืื, ืคืขืืืืช ืืื ืืืื ืืงืืช ืืขืจื ืืืืชื ืืื. ืืื ืืงืกืื ืืคืืืื ืื ืืืคืฉืจืื ืื ืืืืืฅ ืืช ืคืขืืืช ืฉืืืืช ืืืืืืืงืืื ืืขืช ืืืฆืืข ืคืงืืืืช ืืืืืจ ืืืืืคื ืขื ืืื ืืขืืจื ืืฉืืจื ืฉื ื ืชืื ืื ืืืื ืื ืืืืืกืง.
- ื ืืกืคื ืชืืืื ืืืขืืจืช ืืืชืจืืช WWW-Authenticate ืืื ืืืืคื ืืืืฉืืจืื ืืืื ืฉืืจืืช ืืืืืืช ืืคืจืืืืงืื "Credential Helper" ืืืฉืืฉ ืืืขืืจืช ืืืฉืืจืื ืืขืช ืืืฉื ืืืืืจืื ืืืืืืื. ืชืืืื ืืืืชืจืช WWW-Authenticate ืืืคืฉืจืช ืืืขืืืจ ืคืจืืืจืื ืฉื ืืืงืฃ OAuth ืืืืฉื ื ืคืจืืช ืืืชืจ ืฉื ืืฉืชืืฉืื ืืืืืจืื ืืืชืืื ืืช ืืืืงืฃ ืืืืื ืื ืืืงืฉืืช.
- ื ืืกืคื ืืคืฉืจืืช ืคืืจืื "%(ahead-behind: )", ืืืืคืฉืจ ืืงืื ืืื ืืืืข ืขื ืืกืคืจ ืืืืืืืืื ืืงืืืืื ืื ื ืขืืจืื ืืกื ืืฃ ืืกืืื, ืืืืก ืืกื ืืฃ ืืืจ (ืขื ืืื ืกื ืืฃ ืืื ืืคืืจ ืื ืืคื ื ืืืจ ืืจืืช ืืืชืืืืืืืืช). ืืขืืจ, ืงืืืช ืืืืืข ืืื ืืจืฉื ืฉืชื ืคืงืืืืช ื ืคืจืืืช: "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/ | ืขืืืื -t tb/cruft-extra-tips 2 96 tb/for-each-refโืื ืชืืืื 16 96 tb/roaring-bitmaps 47 3 ืืืงืื ืืกืงืจืืคื ืฉื ืขืฉื ืื ืฉืืืืฉ ืงืืื, ืฉืืื ืืืื ืคื 17: $ git for-each-ref - format='%(refname:short)' --no-merged=origin/HEAD \ refs/heads/tb | while read 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" ืืืฆืข | ืขืืืื -t tb/cruft-extra-tips 2 96 tb/for-each-refโืื ืชืืืื 16 96 tb/roaring-bitmaps 47 3
- ื ืืกืคื ืืคืฉืจืืช "--porcelain" ืืคืงืืืช "git fetch", ืืืืืฆืจืช ืคืื ืืคืืจืื " โ, ืคืืืช ืงืจืื, ืืื ื ืื ืืืชืจ ืื ืืชืื ืืกืงืจืืคืืื.
- ื ืืกืคื ืืืืจืช "fetch.hideRefs" ืืืืฆืช ืคืขืืืืช "git fetch" ืขื ืืื ืืกืชืจืช ืืืง ืืืงืืฉืืจืื ืืืืืจ ืืืงืืื ืืฉืื ืืืืืงื ืืื ืืฉืจืช ืฉืื ืืช ืกื ืืืืืืืงืืื ืืืื, ืื ืฉืืืกื ืืื ืขื ืืื ืืืืืช ืืกืืืื ืืฉืจืชืื ืืืื ืฉืืื ื ืื ืชืื ืื ืืืืืืจืื ืืฉืืจืืช. ืืืืืื, ืืขืช ืืืืงื ืขื ืืขืจืืช ืขื ืืืืจืื ืืืืืืื ืืกืคืจ ืจื ืฉื ืงืืฉืืจืื ืืืฆืื ืืื ืืืขืงื, ืื ืืืื ืื ืืงืืฉืืจืื ืคืจื ืืืื ืืืืคื ืื ืืฉืจืช ืืืขื ืืืจืืืง $ืืคืืืช ืืช ืคืขืืืช ื-"git fetch" ื-20 ืืงืืช ื-30 ืฉื ืืืช. $ git -c fetch.hideRefs=refs -c fetch.hideRefs=!refs/remotes/$remote \ ืืืืื $remote
- ืืคืงืืื "git fsck" ืืืืฉืืช ืืช ืืืืืืช ืืืืืง ืื ืืฉ ืฉืืืชืืช, ืืชืืืช ืกืืื ืืืืงื ืื ืืื ืืช ืขืจืืื ืืืคืืช ืกืืืืืช ืฉื ื ืืืฉืืช ืืืืื ืืงืกืื ืืคืืืื.
- ืืคืงืืื "git clone --local" ืืฆืืื ืืขืช ืฉืืืื ืืขืช ื ืืกืืื ืืืขืชืืง ืืืืืจ ืืืืื ืงืืฉืืจืื ืกืืืืื ืืชืื $GIT_DIR.
ืืงืืจ: OpenNet.ru