ืืืื ืืคืงืืื git-blame ืฉื ืืชื ืืืคืขืื ืืกืคืง ืืืืจืื ืืืื ืื ืฉื OnWorks ืืืืฆืขืืช ืืืช ืืชืื ืืช ืืขืืืื ืืืงืืื ืืช ืืืจืืืืช ืฉืื ื, ืืืื Ubuntu Online, Fedora Online, ืืืืืืืจ ืืงืืื ืฉื Windows ืื ืืืืืืืจ ืืงืืื ืฉื MAC OS
ืชึธืึฐื ึดืืช:
ืฉืึตื
git-blame - ืืจืื ืืืื ืืจืกื ืืืืืจ ืฉืื ื ืืืืจืื ื ืื ืฉืืจื ืืงืืืฅ
ืชึทืงืฆึดืืจ
ืกืืืื ืืืืฉืื [-c] [-b] [-l] [--root] [-t] [-f] [-n] [-s] [-e] [-p] [-w] [--incremental]
[-ื ] [-ืก ] [-M] [-C] [-C] [-C] [--ืืื= ]
[--ืงืืฆืืจ= ] [ | --ืชืืื | --ืึทืึฒืคืึนื ] [--]
ืชืืืืจ
ืืฆืืื ืื ืฉืืจื ืืงืืืฅ ืื ืชืื ืขื ืืืืข ืืืืจืกื ืฉื ืืฉืื
ืฉืื ื ืืช ืืงื. ืืืืืคืื, ืืชืื ืืืชืื ืืขืจืืช ืืืืจืกื ืื ืชืื ื.
ืืืฉืจ ืฆืืื ืคืขื ืืืช ืื ืืืชืจ, -L ืืืืื ืืช ืืืขืจื ืืฉืืจืืช ืืืืืงืฉืืช.
ืืืงืืจ ืฉื ืืฉืืจืืช ืขืืงื ืืืืคื ืืืืืืื ืขื ืคื ื ืฉืืืช ืฉืื ืืื ืงืืฆืื ืฉืืืื (ื ืืื ืืขืืฉืื
ืืื ืืคืฉืจืืช ืืืื ืืช ืฉืื ืื ืืฉื). ืืื ืืขืงืื ืืืจ ืฉืืจืืช ืืืขืืจ ืืงืืืฅ ืืื ื
ืืืจ, ืื ืืขืงืื ืืืจ ืฉืืจืืช ืฉืืืขืชืงื ืืืืืืงื ืืงืืืฅ ืืืจ ืืื', ืจืื ืืช
ืืคืฉืจืืืืช -C ื-M.
ืืืื ืืื ื ืืืืจ ืื ืืืจ ืขื ืฉืืจืืช ืฉื ืืืงื ืื ืืืืืคื; ืืชื
ืฆืจืื ืืืฉืชืืฉ ืืืื ืืืื ืกืืืื ืืืื ืื ืืืฉืง ื-"pickaxe" ืฉืืืืืจ ืืงืฆืจื ื-
ืืคืกืงื ืืืื.
ืืืื ืชืืืื ืืืขืจืืช ืงืืฆืื, Git ืชืืื ืื ืืืืคืืฉ ืืืกืืืจืืืช ืืคืืชืื
ืขืืืจ ืืืฉืจ ืืชืจืืฉ ืงืืข ืงืื ืืฉืื ืื. ืื ืืืคืฉืจ ืืขืงืื ืืืจื ืงืื
ืงืืข ืงืื ื ืืกืฃ ืืงืืืฅ, ืืืขืืจ ืื ืืืขืชืง ืืื ืงืืฆืื, ืืืืกืืฃ ื ืืืง ืื
ืืืืืฃ. ืื ืขืืื ืขื ืืื ืืืคืืฉ ืืืจืืืช ืืงืกื ื-diff. ืืืืื ืงืื ื ื
ืืืฉืง pickaxe ืฉืืืคืฉ blame_usage:
$ git log --pretty=oneline -S'blame_usage'
5040f17eba15504bad66b14a645bddd9b015ebb7 blame -S <ancestry-file>
ea4c7f9bf69e781dd0cd88d2bccb2bf5cc15c9a7 git-blame: Make the output
ืืคืฉืจืืืืช
-b
ืืฆื SHA-1 ืจืืง ืขืืืจ ืืชืืืืืืืืช ืืืื. ื ืืชื ืืฉืืื ืขื ืื ืื ืืืืฆืขืืช
ืืคืฉืจืืช ืชืฆืืจืช blame.blankboundary.
--ืฉืืจืฉ
ืืื ืืืชืืืืก ืืืชืืืืืืืืช ืฉืืจืฉ ืืื ืืืืืืช. ื ืืชื ืืฉืืื ืขื ืื ืื ืืืืฆืขืืช
ืืคืฉืจืืช ืชืฆืืจืช blame.showRoot.
--ืืฆื ืกืืืืกืืืงืืช
ืืืื ื ืชืื ืื ืกืืืืกืืืื ื ืืกืคืื ืืกืืฃ ืคืื ืืืฉืื.
-ื , , -L :
ืฆืืื ืจืง ืืช ืืืื ืืฉืืจืืช ืื ืชืื. ื ืืชื ืืฆืืื ืืกืคืจ ืคืขืืื. ืืึนืคึตืฃ
ืืืืืื ืืืชืจืื.
ื ืื ืืืคืฆืืื ืืืื. "-ื " ืื "-L " ืืฉืชืจืข ื ื
ืกืืฃ ืืงืืืฅ. "-ื, " ืืฉืชืจืข ืืชืืืืช ืืงืืืฅ ืืขื .
ื ืืืื ืืืืืฉ ืืืช ืืืฆืืจืืช ืืืืืช:
ยท ืืกืคืจ
ืื ืืึน ืืื ืืกืคืจ, ืืื ืืฆืืื ืืกืคืจ ืงื ืืืืื (ืกืคืืจืช ืฉืืจืืช
ืืฉื ืช 1).
ยท /regex/
ืืืคืก ืื ืืฉืชืืฉ ืืฉืืจื ืืจืืฉืื ื ืืชืืืืช ืืช ืืืืืื ืืจืืืืจื ืื ืชืื ืฉื POSIX. ืื ืืื
regex, ืืื ืืืคืฉ ืืกืืฃ ืืืื -L ืืงืืื, ืื ืืืื, ืืืจืช
ืืชืืืืช ืืงืืืฅ. ืื ืืื "^/regex/", ืืื ืืืคืฉ ืืืืชืืื ืฉื
ืงืึนืึถืฅ. ืื ืืื ืืืืื ืจืืืืจื, ืืื ืืืคืฉ ืืื ืืืฉืืจื ืฉื ืืชื ื ืขื ืืื .
ยท +ืืืกื ืื -ืืืกื
ืื ืชืงืฃ ืจืง ืขืืืจ ืืืฆืืื ืืกืคืจ ืฉืืจืืช ืืคื ื ืื ืืืจื
ืืฉืืจื ืฉื ืืชื ื ืขื ืืื .
ืื ": โ ื ืืชื ืืืงืื ื , ืื ืืืืื ืจืืืืจื
ืฉืืฆืืื ืืช ืืืืื ืืฉืืจืช ื-funcname ืืจืืฉืื ื ืืชืืืืช , ืขื
ืฉืืจืช funcname ืืืื. ": " ืืืคืฉ ืืกืืฃ ืืืื -L ืืงืืื, ืื
ืื, ืืืจืช ืืชืืืืช ืืงืืืฅ. "^: " ืืืคืฉ ืืชืืืืช ืืงืืืฅ.
-l
ืืฆื ืกืืืื ืืจืื (ืืจืืจืช ืืืื: ืืืื).
-t
ืืฆื ืืืชืืช ืืื ืืืืืืช (ืืจืืจืช ืืืื: ืืืื).
-ืก
ืืฉืชืืฉ ืืืจืกืืืช ื-revs-file ืืืงืื ืืืชืงืฉืจ git-rev-list(1).
--ืึทืึฒืคืึนื
ืืื ืืืืกืืืจืื ืงืืืื ืืืงืื ืืืืจื. ืืืงืื ืืืฆืื ืืช ืืืจืกื ืฉืื ื
ืืืคืืข ืฉืืจื, ืื ืืจืื ืืช ืืืจืกื ืืืืจืื ื ืฉืื ืงืืืืช ืฉืืจื. ืื ืืืจืฉ
ืืืื ืฉื ืืจืกืืืช ืืื START..END ืฉืื ืื ืชืื ืืืืฉืื ืงืืื ื-START.
-p, --ืคืืจืฆืื
ืืฆื ืืคืืจืื ืืืืืขื ืืฆืจืืืช ืืืื ืืช.
--ืืืื-ืคืืจืฆืื
ืืฆื ืืช ืคืืจืื ืืคืืจืฆืื, ืืื ืคืื ืืืืข ืืืืืืืช ืขืืืจ ืื ืฉืืจื, ืื ืจืง ืขืืืจ
ืคืขื ืจืืฉืื ื ืฉืืชืืืืกืื ืืืชืืืืืืช. ืืจืื ืขื --ืคืืจืฆืื.
--ืืฆืืืจ
ืืฆื ืืช ืืชืืฆืื ืืืืจืื ืืคืืจืื ืืืืืขื ืืฆืจืืืช ืืืื ื.
--ืงืืืื=
ืืฆืืื ืืช ืืงืืืื ืืืฉืืฉ ืืคืื ืฉืืืช ืืืืจืื ืืกืืืืื ืืชืืืืืืช. ืืืืืจ ืืช ืื ื
ืืฃ ืืื ืื ืืืจื ืืืืฉืื ืคืื ื ืชืื ืื ืื ืืืืจืื. ืืืืืข ื ืืกืฃ ืขืืื ืืืืื
ืืืื ืงืืืื ื- git-log(1) ืืฃ ืืืจืื.
--ืชืืื
ืืชื ืื ืฆืืื, ืืคืงืืื ืืกืื ืช ืืช ืืฉืื ืืืื ืืื ืืืืจื ื
ืขืืชืง ืขืฅ ืืขืืืื. ืืืื ืืื ืืืจื ืืคืงืืื ืืืขืืื ืคื ืื ืืืืื ืขืืชืง ืขืฅ ืืขืืืื
ืืฉ ืืช ืืชืืื ืฉื ืืงืืืฅ ืืขื ืืฉื (ืฆืืื - ืืื ืืืจืื ืืคืงืืื ืืงืจืื ืืชืื
ืงืื ืกืื ืืจืื).
--ืชึทืึฒืจึดืื
ืืฆืืื ืืช ืืคืืจืื ืืืฉืืฉ ืืคืื ืชืืจืืืื. ืื ืื ืืกืืคืง --date, ืืขืจื ืฉื ื-
ื ืขืฉื ืฉืืืืฉ ืืืฉืชื ื ืืชืฆืืจื blame.date. ืื ืื ืืฉืชื ื ืืชืฆืืจื blame.date ืื ืืืืืจ,
ื ืขืฉื ืฉืืืืฉ ืืคืืจืื ISO. ืืขืจืืื ื ืชืืืื, ืขืืื ืืืืื ืขื ืืคืฉืจืืช --date
at git-log(1).
-ื| |
ืืืืื ืฉืืจืืช ืฉืืืืื ืื ืฉืืืขืชืงื ืืชืื ืงืืืฅ. ืืืฉืจ commit ืื ืื ืืขืชืืง ืืืืง ืฉื
ืฉืืจืืช (ืืืฉื ืืงืืืฅ ืืืงืืจื ืืฉ A ืืืืืจ ืืื B, ืื-commit ืืฉื ื ืืืชื ื-B ื
ืืื ื), ืืืกืืจืชื ืืืืฉืื ืืืืืืจืืชื ืืืืื ืจืง ืืืืฆืืช ืืืชื ืืขื ื
ืืืจื ืืื ืืืฉืื ืืช ืืฉืืจืืช ืฉืืืขืืจื ืืืขืื (ืืืืืจ ื') ืืืืจื ืืืืื ืืฉืื
ืืงืืืื ืฉืืืขืืจื ืืืื (ืืืืืจ ื') ื-child commit. ืขื ืืคืฉืจืืช ืื, ืื ืืื
ืงืืืฆืืช ืฉื ืงืืืื ืืืืฉืืืช ืขื ืืืืจื ืขื ืืื ืืคืขืืช ืืขืืจื ืืืืงื ื ืืกืคืื.
ืืื ืืืคืฆืืื ืื ืื ืืื ืืืืื ืืชืืชืื ืฉื ืืกืคืจ ืืชืืืื ืืืืคืื ืืืจืืื
ืฉ-Git ืืืื ืืืืืช ืืืืื/ืืขืชืืง ืืชืื ืงืืืฅ ืืื ืฉืืฉืืื ืืช ืืฉืืจืืช ืืืื
ืขื ืืชืืืืืืช ืืืืจืื. ืขืจื ืืจืืจืช ืืืืื ืืื 20.
-C| |
ืื ืืกืฃ ื-M, ืืื ืฉืืจืืช ืฉืืืขืชืงื ืื ืืืขืชืงื ืืงืืฆืื ืืืจืื ืฉืฉืื ื
ืืืชื ืืชืืืืืืช. ืื ืฉืืืืฉื ืืืฉืจ ืืชื ืืืจืื ืืืืฉ ืืช ืืชืืื ืืช ืฉืื ืืืขืืืจ ืงืื
ืขื ืคื ื ืงืืฆืื. ืืืฉืจ ืืคืฉืจืืช ืื ื ืืชื ืช ืคืขืืืื, ืืคืงืืื ืืืคืฉืช ืื ืืกืฃ
ืขืืชืงืื ืืงืืฆืื ืืืจืื ื-commit ืฉืืืฆืจ ืืช ืืงืืืฅ. ืืืฉืจ ืืคืฉืจืืช ืื ื ืืชื ืช
ืฉืืืฉ ืคืขืืื, ืืคืงืืื ืืืคืฉืช ืื ืืกืฃ ืขืืชืงืื ืืงืืฆืื ืืืจืื ืืื commit.
ืืื ืืืคืฆืืื ืื ืื ืืื ืืืืื ืืชืืชืื ืฉื ืืกืคืจ ืืชืืืื ืืืืคืื ืืืจืืื
ืฉ-Git ืืืื ืืืืืช ืื ืข/ืืขืชืืง ืืื ืงืืฆืื ืืื ืฉืืฉืืื ืืช ืืฉืืจืืช ืืืื
ืขื ืืชืืืืืืช ืืืืจืื. ืืขืจื ืืจืืจืช ืืืืื ืืื 40. ืื ืืฉ ืืืชืจ ื-C ืืื
ืืคืฉืจืืืืช ืฉื ืืชื ื, ื ืืืืขืื ืฉื ื-C ืืืืจืื ืืืื ืก ืืชืืงืฃ.
-h
ืืฆื ืืืืขืช ืขืืจื.
-c
ืืฉืชืืฉ ืืืืชื ืืฆื ืคืื ืืื git-annotate(1) (ืืจืืจืช ืืืื: ืืืื).
--ื ืืคืื-ืฆืืื
ืืืื ืืืืข ืืืชืืจ ืืืืื ืืงืฉืืจ ืืชื ืืขืช ืงืืืื ืืื ืงืืฆืื (ืจืื -C)
ืืฉืืจืืช ืฉืืืขืืจื ืืชืื ืงืืืฅ (ืจืื -M). ืืืกืคืจ ืืจืืฉืื ืืจืฉืื ืืื ืืฆืืื. ืื
ืืกืคืจ ืืชืืืื ืืืืคืื ืืืจืืื ืฉืืืื ืืืืื ืืืขืืจื ืืื ืื ืืชืืื
ืงืืฆืื. ืื ืืืื ืืืืืช ืืขื ืกืฃ ืืกืืื ืขืืืจ ืกืืืื ืืืืฉืื ืืฉืงืื ืืช ืืฉืืจืืช ืืืื ืฉื
ืืงืื ืฉืืืขืืจ.
-f, --ืืฆื-ืฉื
ืืฆื ืืช ืฉื ืืงืืืฅ ื-commit ืืืงืืจื. ืืืจืืจืช ืืืื, ืฉื ืืงืืืฅ ืืืฆื ืื ืงืืื
ืื ืฉืืจื ืฉืืืืขื ืืงืืืฅ ืืฉื ืืืจ, ืขืงื ืืืืื ืฉืื ืื ืฉื.
-n, --ืืฆื-ืืกืคืจ
ืืฆื ืืช ืืกืคืจ ืืฉืืจื ื-commit ืืืงืืจื (ืืจืืจืช ืืืื: ืืืื).
-s
ืืืง ืืช ืฉื ืืืืืจ ืืืืชืืช ืืืื ืืืคืื.
-ื, --show-email
ืืฆื ืืช ืืืื"ื ืฉื ืืืืืจ ืืืงืื ืืช ืฉื ืืืืืจ (ืืจืืจืช ืืืื: ืืืื). ืื ืื ืืืื ืืืืืช
ื ืฉืื ืืืืฆืขืืช ืืคืฉืจืืช ืืชืฆืืจื blame.showEmail.
-w
ืืชืขืื ืืจืืื ืืื ืืขืช โโืืฉืืืืช ืืจืกืช ืืืืจื ืืืจืกืช ืืืื ืืื ืืืฆืื ืืืื
ืืฉืืจืืช ืืืืขื.
--ืงืืฆืืจ=
ืืืงืื ืืืฉืชืืฉ ืืจืืจืช ืืืืื ืฉื 7+1 ืกืคืจืืช ืืงืกืืฆืืืืืืช ืืฉื ืืืืืืืงื ืืืงืืฆืจ,
ืืืฉืชืืฉ +1 ืกืคืจืืช. ืฉืื ืื ืฉืขืืืื ืืืช ืืฉืืฉืช ืืกืืื ืืกืืืื ืืชืืืืืืช ืืืืื.
LA ืึทืจึฐืกึดืื ึธื ืคืืจืื
ืืคืืจืื ืื, ืื ืฉืืจื ืืืฆืืช ืืืืจ ืืืชืจืช; ืืืืชืจืช ืืืื ืืืื ืืืืืช ืืช
ืฉืืจื ืจืืฉืื ื ืฉืืฉ ืื:
ยท 40-ืืชืื SHA-1 ืฉื ื-commit ืฉืืงื ืืืืืก ืืืื;
ยท ืืกืคืจ ืืฉืืจื ืฉื ืืฉืืจื ืืงืืืฅ ืืืงืืจื;
ยท ืืกืคืจ ืืฉืืจื ืฉื ืืฉืืจื ืืงืืืฅ ืืกืืคื;
ยท ืืฉืืจื ืฉืืชืืืื ืงืืืฆืช ืฉืืจืืช ื-commit ืฉืื ื ืืืงืืืืช,
ืืกืคืจ ืืฉืืจืืช ืืงืืืฆื ืื. ืืฉืืจืืช ืืืืืช ืฉืื ืื ื ืขืืจ.
ืืืจื ืฉืืจืช ืืืืชืจืช ืืื ืืืคืืข ืืืืืข ืืื ืืคืืืช ืคืขื ืืืช ืขืืืจ ืื commit:
ยท ืฉื ืืืืืจ ("ืืืืืจ"), ืืืืืืื ("ืืืืืจ-ืืืื"), ืืฉืขื ("ืืื ืืืืืจ") ืืืืืจ ืืืื
("ืืืืจ-ืฅ"); ืืืืคื ืืืื ืขืืืจ ืืชืืืื.
ยท ืฉื ืืงืืืฅ ื-commit ืฉืืฉืืจื ืืืืืกืช ืื.
ยท ืืฉืืจื ืืจืืฉืื ื ืฉื ืืืืขืช ืืืื ืืืชืืืืืืช ("ืกืืืื").
ืืชืืื ืฉื ืืฉืืจื ืืคืืขื ืืืคืง ืืืืจ ืืืืชืจืช ืืืขืื, ืขื ืงืืืืืช TAB. ืึถื
ืืื ืืืคืฉืจ ืืืกืคืช ืจืืืื ืืืชืจืช ื ืืกืคืื ืืืืืจ ืืืชืจ.
ืคืืจืื ืืคืืจืฆืื ืืืจื ืืื ืืืื ืืืืข ืืืชืืืืืืช ืฉืืืจ ื ืจืื.
ืืืืืื, ืฉืชื ืฉืืจืืช ืืืืืฉืืืช ืืืืชื commit ืืืฆืื, ืืื ื-
ืืคืจืืื ืขืืืจ ืืชืืืืืืช ืื ืืืฆืื ืคืขื ืืืช ืืืื. ืื ืืขืื ืืืชืจ, ืืื ืขืฉืื ืืืจืืฉ
ืืฆื ื ืืกืฃ ืืืฉืืจ ืขื ืืื ืืงืืจื. ื ืืชื ืืืฉืชืืฉ ืืืคืฉืจืืช --line-porcelain ืืคืื ืืื
ืืชืืืืืืช ืืืืืข ืขืืืจ ืื ืฉืืจื, ืื ืฉืืืคืฉืจ ืฉืืืืฉ ืคืฉืื ืืืชืจ (ืื ืคืืืช ืืขืื) ืืื:
# ืืกืคืืจ ืืช ืืกืคืจ ืืฉืืจืืช ืืืืืืกืืช ืืื ืืืืจ
git blame --line-porcelain file |
sed -n 's/^ืืืืจ //p' |
ืืืื | uniq -c | ืืืื -rn
ืืคืจื ืจืืื ื'ืื
ืฉืื ื ืกืืืื ืืืืฉืื ื ืกืืืื ืืืืืจ ืืืจืกืืืช ืืฉื ืืช ืืืชืจ ืฉื git, ืืืืช ืืืขืจื
ื ืืชื ืืืืืื ืื ืืืืืื ืฉืืจืืช ืืื ืืืืืื ืืจืกืืืช. ืืคืฉืจืืช -L, ืืืืืืื
ืืขืจื ืืืืื ืฉื ืฉืืจืืช, ืขืฉืืื ืืืืืช ืืืืืจืช ืืกืคืจ ืคืขืืื.
ืืืฉืจ ืืชื ืืขืื ืืื ืืืฆืื ืืช ืืืงืืจ ืืฉืืจืืช 40-60 ืขืืืจ file foo, ืืชื ืืืื ืืืฉืชืืฉ
ืืืคืฉืจืืช -L ืื (ืื ืืชืืืื ืื ืืืืชื ืืืืจ - ืฉื ืืื ืืืงืฉืื 21 ืฉืืจืืช ืืืชืืืืืช ืืงื
40):
git blame -L 40,60 foo
git blame -L 40,+21 foo
ืืื ืื, ืืชื ืืืื ืืืฉืชืืฉ ืืืืืื ืจืืืืจื ืืื ืืฆืืื ืืช ืืืื ืืฉืืจืืช:
git blame -L '/^sub hello {/,/^}$/' foo
ืื ืฉืืืืื ืืช ืืืขืจื ืืืืฃ ืืืฉื ื ืฉื ืฉืืื.
ืืืฉืจ ืืื ื ืืขืื ืืื ืืฉืื ืืืื ืืฉื ืื ืืืจืกื v2.6.18, ืื ืฉืื ืืืื ืืฉื ืื ื-3
ืฉืืืขืืช, ืืชื ืืืื ืืืฉืชืืฉ ืืืคืจืื ืืืื ืืจืกืืืช ืืืืื ื ืกืืืื ืจืฉืืืช ืกืืืืืื:
git blame v2.6.18.. -- foo
git blame --since=3.weeks -- foo
ืืืฉืจ ืืฉืชืืฉืื ืืืคืจืื ืืืื ืืจืกืืืช ืืื ืืืืืื ืืช ืืืขืจื, ืฉืืจืืช ืฉืื
ืืฉืชื ื ืืื ืืืื ืืืืื (ืื ื-commit v2.6.18 ืื ื-commit ืืืืจืื
ืืื ืื ืืืชืจ ื-3 ืฉืืืขืืช ืืืืืื ืฉืืืขืื) ืืืืฉืืื ืืืชืืืืืืช ืืืื ืืืืื.
ืืจื ืฉืืืืฉืืช ืืืืืื ืืื ืืจืืืช ืื ืืงืืืฅ ื ืืกืฃ ืืฉ ืฉืืจืืช ืฉื ืืฆืจื ืขื ืืื ืืขืชืง ืืืืืง
ืืงืืฆืื ืงืืืืื. ืืคืขืืื ืื ืืฆืืืข ืขื ืื ืฉืืืคืชื ืืื ืืจืืฉื ืืขืฉื ืืืช
ืื ืืืืฉ ืืช ืืงืื ืืจืืื. ืชืืืื ืชืืื ืืืฆืื ืืช ื-commit ืฉืืฆืื ืืช ืืงืืืฅ
ืขื:
git log-diff-filter = A-ืื = ืงืฆืจ-foo
ืืืืืจ ืืื ืืขืจื ืืช ืืฉืื ืื ืืื ืืืชืืืืืืช ืืืืจืื, ืืืืฆืขืืช ืืืืืืื^! ืกึดืืึผื:
git ืืฉื -C -C -f $ ืืืชืืืื^! - ืคื
ืขืืืื ืชืคืืงื
ืืืฉืจ ื ืงืจื ืขื ืืคืฉืจืืช --incremental, ืืคืงืืื ืืคืืืช ืืช ืืชืืฆืื ืืคื ืฉืืื ื ืื ืืช. ื
ืืคืื, ืืืจื ืืื, ืืืืจ ืชืืืื ืขื ืฉืืจืืช ืฉื ืืขื ืืืชืืืืืืืืช ืืืจืื ืืช ืืืชืจ (ืืืืืจ
ืฉืืจืืช ืืืคืืขื ืืื ืกืืจ) ืืื ืืืืขืืืช ืืฉืืฉ ืืช ืืฆืืคืื ืืืื ืืจืืงืืืืืื.
ืคืืจืื ืืคืื ืืืื ืืคืืจืื ืคืืจืฆืื, ืื ืืื ื ืืืื ืืช ืืคืืจืื ืืคืืขื
ืฉืืจืืช ืืืงืืืฅ ืฉืืงืื ืืขืจืืช.
1. ืื ืขืจื ืืฉืื ืืชืืื ืชืืื ืืฉืืจื ืฉื:
<40-byte hex sha1>
ืืกืคืจื ืฉืืจืืช ื ืกืคืจืืช ื-1.
2. ืืคืขื ืืจืืฉืื ื ืฉ-commit ืืืคืืข ืืืจื, ืืฉ ืื ืืืืข ืืืจ
ืขื ืื ืืืืคืก ืขื ืชื ืฉื ืืืื ืืืช ืืชืืืืช ืื ืฉืืจื ืืืชืืจ ืืช
ืืืืข ื ืืกืฃ ืขื ืืชืืืืืืช (ืืืืจ, ืืืืจ ืืืงืืจืื ื, ืืชืืืื, ืชืืจืืืื, ืกืืืื ืืื').
3. ืื ืืืื ืืคืืจืื ืคืืจืฆืื, ืืืืข ืฉื ืืงืืืฅ ืชืืื ื ืืชื ืืืกืชืืื
ืืื ืืกื:
"ืฉื ืงืืืฅ"
ืืืคืืื ืื ืืืืช ืื ืงื ืื ืชื ืขืืืจ ืื ืชื ืืขื ืืืจืืื ืืฆืื ืฉื ืฉืืจื ืืืืืื
(ืื ืฉืืืืจ ืืืืืช ืื ืืืขื ืขืืืจ ืจืื ืฉืคืืช ืืกืงืจืืคื).
ืืขืจืืช
ืืื ืฉืื ืฉืขืืกืงืื ืื ืืชืื: ืืื ืืืคืื ืืืชื ืืืง ืืืชืจ, ืคืฉืื ืืชืขืื ืืื ืืฉืืจืืช ืืื ืืื
ืืจืืฉืื ืืืืืจืื (" " ื"ืฉื ืงืืืฅ") ืฉืืื ืืื ื ืืืื
ืืืืืช ืืชืืืช (ืื ืฉืืืคืช ืื ืืื ื) ืืชืืืืช ื-
ืฉืืจืืช "ืืืืข ืืืจืื". ืืืจื ืื, ืื ืื ืคืขื ืืชืืืกืฃ ืืืืข (ืืื
ืงืืืื ื-commit ืื ืคืจืฉื ืืช ื-commit ืืืืจืืืช), ืืฆืืคื ืืืฉืื ืื ืืืื ืืืคืช.
ืืืคืื ืืืืจืื
ืื ืืงืืืฅ .mailmap ืงืืื ืืจืื ืืขืืืื ื ืฉื ืืืืืจ, ืื ืืืืงืื ืืฆืืืข
ืืื ืืคื ืืคืฉืจืืืืช ืืชืฆืืจื mailmap.file ืื mailmap.blob, ืืื ืืฉืืฉ ืืืืคืื ืืืืจ ื
ืฉืืืช ืืชืืืืืื ืืืชืืืืช ืืื"ื ืืฉืืืช ืืืืชืืื ืืืชืืืืช ืืื"ื ืงื ืื ืืื.
ืืฆืืจื ืืคืฉืืื, ืื ืฉืืจื ืืงืืืฅ ืืืจืืืช ืืืฉื ืืืืืชื ืืงื ืื ื ืฉื an
ืืืืจ, ืจืืื ืืื ืืืชืืืช ืืื"ื ืืืฉืืฉืช ื-commit (ืืฆืืจืฃ ืขื ืืื < ื >) ืืืคืืช
ืืฉื. ืืืืืื:
ืฉื ืืชืืื[ืืืื ืืืื"ื]>
ืืฆืืจืืช ืืืืจืืืืช ืืืชืจ ืื:
<[ืืืื ืืืื"ื]>[ืืืื ืืืื"ื]>
ืื ืฉืืืคืฉืจ ืืืคืช ืืืืจ ืืืืืืฃ ืจืง ืืช ืืืง ืืืืืืื ืฉื commit, ื:
ืฉื ืืชืืื[ืืืื ืืืื"ื]>[ืืืื ืืืื"ื]>
ืื ืฉืืืคืฉืจ ืืืคืช ืืืืจ ืืืืืืฃ ืื ืืช ืืฉื ืืื ืืช ืืืืืืื ืฉื commit ืืชืืื ืืช
ืืชืืืช ืืืื"ื ืฉืฆืืื ื ืืืชืืืื, ื:
ืฉื ืืชืืื[ืืืื ืืืื"ื]> ืฉื ืืชืืืืืืช[ืืืื ืืืื"ื]>
ืื ืฉืืืคืฉืจ ืืืืื ืืืืืืฃ ืื ืืช ืืฉื ืืื ืืช ืืืืืืื ืฉื commit ืืชืืื ืืช ืฉื ื
ืฉื ืืชืืืืืืช ืืืชืืืช ืืื"ื ืฉืฆืืื ื.
ืืืืื 1: ืืืืกืืืจืื ืฉืื ืืืืื ืืชืืืืืืืืช ืฉื ืฉื ื ืืืืจืื, ื'ืืื ืื'ื, ืฉืฉืืืชืืื ืืืคืืขืื
ืืืืืจ ืืืกืคืจ ืฆืืจืืช:
ื'ื ืืคืชื[ืืืื ืืืื"ื]>
ื'ื ืจ. ืืคืชื[ืืืื ืืืื"ื]>
ื'ืืื ืื[ืืืื ืืืื"ื]>
ื'ืืื ืื
ื'ืืื ื.
ืขืืฉืื ื ื ืื ืฉื'ื ืจืืฆื ืฉืืฉืืฉ ืืช ืืฉื ืืืืฆืขื ืฉืื, ืื'ืืื ืืขืืืคื ืืช ืฉื ืืืฉืคืื ืฉืื
ืืืืืช ืืืืืื. ืงืืืฅ โ.mailmap ืชืงืื ืืืจืื ืื:
ื'ืืื ืื
ื'ื ืจ. ืืคืชื[ืืืื ืืืื"ื]>
ืฉืืื ืื ืืื ืืื ืฆืืจื ืืื ืืกื ืขืืืจ , ืื ืืฉื ืืืืืชื ืฉื
ืืืืชื ืืื ืืืจ ืฆืืืง.
ืืืืื 2: ืืืืืจ ืฉืื ืืืื ืืชืืืืืืืืช ืืืืืืจืื ืืืืื:
ื ืืง1[ืืืื ืืืื"ื]>
ื ืืง2[ืืืื ืืืื"ื]>
ื ืืง2[ืืืื ืืืื"ื]>
ืกื ืื[ืืืื ืืืื"ื]>
ืงืืืืก[ืืืื ืืืื"ื]>
CTO[ืืืื ืืืื"ื]>
ืื ืืืื ืชืจืฆื ืงืืืฅ โ.mailmap ืฉื ืจืื ืื:
<[ืืืื ืืืื"ื]>[ืืืื ืืืื"ื]>
ืืืื ืืื[ืืืื ืืืื"ื]> ื ืืง1[ืืืื ืืืื"ื]>
ืืืืจ ืืืจ[ืืืื ืืืื"ื]> ื ืืง2[ืืืื ืืืื"ื]>
ืืืืจ ืืืจ[ืืืื ืืืื"ื]>[ืืืื ืืืื"ื]>
ืกื ืื ืงืืืืก[ืืืื ืืืื"ื]>[ืืืื ืืืื"ื]>
ืืฉืชืืฉ ื-hash # ืืืขืจืืช ืฉื ืืฆืืืช ืืฉืืจื ืืฉืืื ืื ืืืจื ืืชืืืช ืืืืืืื.
ืืฉืชืืฉ ื-git-blame ืืืื ืืจื ื ืืืืฆืขืืช ืฉืืจืืชื onworks.net