在結束「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'