Chapters ā–¾ 2nd Edition

2.7 Git åŸŗē¤Ž - Git Aliases

Git Aliases

åœØēµęŸć€ŒGit åŸŗē¤Žć€é€™å€‹ē« ēÆ€ä»„å‰ļ¼ŒåœØę­¤ęƒ³å’Œä½ åˆ†äŗ«äø€äŗ›ä½æē”Ø Git ēš„ęŠ€å·§ļ¼Œč®“ä½ čƒ½å¤ ę›“ē°”ę˜“äø”å‹å–„ēš„ä½æē”Ø Gitā€”ā€”åˆ„åļ¼ˆalias)。 åœØęœ¬ę›øēš„å¾Œé¢ē« ēÆ€ļ¼Œęˆ‘å€‘äøęœƒå†ęåˆ°ļ¼Œä¹Ÿäøęœƒå‡čØ­ä½ ęœ‰ä½æē”Øåˆ„åēš„ęŠ€å·§ć€‚ ä½†ę˜Æä½ åÆčƒ½ęœƒéœ€č¦ēŸ„é“å¦‚ä½•ä½æē”Øå®ƒć€‚

å¦‚ęžœä½ åŖę‰“äŗ†ęŸå€‹ęŒ‡ä»¤ēš„äø€éƒØä»½ļ¼ŒGit äø¦äøęœƒč‡Ŗå‹•ęŽØęø¬å‡ŗä½ ęƒ³č¦ēš„ęŒ‡ä»¤ć€‚ å¦‚ęžœä½ ę‡¶å¾—č¼øå…„å®Œę•“ēš„ Git ęŒ‡ä»¤ļ¼Œä½ åÆä»„č¼•ę˜“ēš„ä½æē”Ø git config ä¾†ę›æęŒ‡ä»¤čØ­å®šåˆ„åć€‚ äø‹é¢ęœ‰äø€äŗ›ä½ åÆčƒ½ęœƒęƒ³č¦čØ­å®šåˆ„åēš„ēÆ„ä¾‹ļ¼š

$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.st status

čˆ‰å…¶äø­äø€å€‹ä¾‹å­ä¾†čŖŖļ¼Œé€™ęØ£ēš„čØ­å®šę„å‘³č‘—ä½ åÆä»„åŖę‰“ git ci č€Œäøéœ€č¦ę‰“ git commit怂 éšØč‘—ä½ ę·±å…„ä½æē”Ø Gitļ¼Œä½ å°‡ęœƒē™¼ē¾ęŸäŗ›ęŒ‡ä»¤ē”Øēš„å¾ˆé »ē¹ļ¼Œäøč¦ēŒ¶č±«ļ¼Œé¦¬äøŠå»ŗē«‹ę–°ēš„ęŒ‡ä»¤åˆ„åć€‚

é€™å€‹éžåøøęœ‰ē”Øēš„ęŠ€č”“é‚„čƒ½ē”Øä¾†å‰µé€ äø€äŗ›ä½ č¦ŗå¾—ę‡‰č©²å­˜åœØēš„ęŒ‡ä»¤ć€‚ čˆ‰ä¾‹ä¾†čŖŖļ¼Œē‚ŗäŗ†ęé«˜ unstage ęŖ”ę”ˆēš„ę–¹ä¾æę€§ļ¼Œä½ åÆä»„åŠ å…„ä½ č‡Ŗå·±ēš„ unstage åˆ„åļ¼š

$ git config --global alias.unstage 'reset HEAD --'

č€Œäø”é€™å€‹ unstage åˆ„åęœƒč®“ä»„äø‹å…©å€‹ęŒ‡ä»¤ęœ‰ē›øåŒēš„åŠŸē”Øļ¼š

$ git unstage fileA
$ git reset HEAD -- fileA

é€™ęØ£ēœ‹čµ·ä¾†ę›“åŠ ē°”å–®ę˜Žēž­äŗ†ć€‚ ę­¤å¤–ļ¼Œå¤§å®¶é€šåøøé‚„ęœƒę–°å¢žäø€å€‹ last ęŒ‡ä»¤å¦‚äø‹ļ¼š

$ git config --global alias.last 'log -1 HEAD'

å¦‚ę­¤äø€ä¾†ļ¼Œä½ åÆä»„ę›“ē°”ę˜“ēš„ēœ‹åˆ°ęœ€å¾Œēš„ęäŗ¤čØŠęÆļ¼š

$ git last
commit 66938dae3329c7aebe598c2246a8e6af90d04646
Author: Josh Goebel <dreamer3@example.com>
Date:   Tue Aug 26 19:48:51 2008 +0800

    test for current head

    Signed-off-by: Scott Chacon <schacon@example.com>

å¦‚ä½ ę‰€č¦‹ļ¼ŒGit ęœƒå°‡åˆ„åē›“ęŽ„å–ä»£ęˆä½ åˆ„åå…§čØ­å®šēš„ęŒ‡ä»¤ć€‚ ē„¶č€Œļ¼Œä½ åÆčƒ½ęœƒęƒ³č¦åŸ·č”Œäø€å€‹å¤–éƒØęŒ‡ä»¤ļ¼Œč€Œéž git äø‹ēš„å­ęŒ‡ä»¤ć€‚ åœØé€™å€‹ęƒ…ę³äø‹ļ¼Œä½ éœ€č¦åœØęŒ‡ä»¤ēš„é–‹é ­åŠ å€‹ ! å­—å…ƒć€‚ é€™å€‹ęŠ€å·§åœØä½ å¦‚ęžœęƒ³ē‚ŗ Git å€‰å„²ę’°åÆ«č‡Ŗč£½å·„å…·ę™‚å¾ˆęœ‰ē”Øć€‚ ęˆ‘å€‘åÆä»„ē”Øä»„äø‹ēš„ēÆ„ä¾‹čØ­å®š git visual 執蔌 gitk:

$ git config --global alias.visual '!gitk'
scroll-to-top