在結束本章之前,我還想和大家分享一些 git 使用的技巧和竅門。很多使用 git 的開發者可能根本就沒用過這些技巧,我們也不是說在讀過本書後非得用這些技巧不可,但至少應該有所了解吧。說實話,有了這些小竅門,我們的工作可以變得更簡單,更輕鬆,更高效。
source ~/.git-completion.bash
也可以為系統上所有使用者都設定預設使用此指令碼。mac 上將此指令碼複製到/opt/local/etc/bash_completion.d
目錄中,linux 上則複製到/etc/bash_completion.d/
目錄中。這兩處目錄中的指令碼,都會在 bash 啟動時自動載入。
如果在 windows 上安裝了 msysgit,預設使用的 git bash 就已經配好了這個自動補全指令碼,可以直接使用。
在輸入 git 命令的時候可以敲兩次跳格鍵(tab),就會看到列出所有匹配的可用命令建議:
$ git cocommit config
此例中,鍵入 git co 然後連按兩次 tab 鍵,會看到兩個相關的建議(命令) commit 和 config。繼而輸入m
會自動完成git commit
命令的輸入。
命令的選項也可以用這種方式自動完成,其實這種情況更實用些。比如執行git log
的時候忘了相關選項的名字,可以輸入開頭的幾個字母,然後敲 tab 鍵看看有哪些匹配的:
$ git log --s--shortstat --since= --src-prefix= --stat --summary
這個技巧不錯吧,可以節省很多輸入和查閱文件的時間。
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 commit
只需鍵入git ci
即可。而隨著 git 使用的深入,會有很多經常要用到的命令,遇到這種情況,不妨建個別名提高效率。
使用這種技術還可以創造出新的命令,比方說取消暫存檔案時的輸入比較繁瑣,可以自己設定一下:
$ git config --global alias.unstage 'reset head --'
這樣一來,下面的兩條命令完全等同:
$ git unstage filea
$ git reset head filea
顯然,使用別名的方式看起來更清楚。另外,我們還經常設定last
命令:
$ git config --global alias.last 'log -1 head'
然後要看最後一次的提交資訊,就變得簡單多了:
$ git last
commit 66938dae3329c7aebe598c2246a8e6af90d04646
author: josh goebel date: tue aug 26 19:48:51 2008 +0800
test for current head
signed-off-by: scott chacon
可以看出,實際上 git 只是簡單地在命令中替換了你設定的別名。不過有時候我們希望執行某個外部命令,而非 git 的子命令,這個好辦,只需要在命令前加上!
就行。如果你自己寫了些處理 git 倉庫資訊的指令碼的話,就可以用這種技術包裝起來。作為演示,我們可以設定用git visual
啟動gitk
:
$ git config --global alias.visual '!gitk'
Git技巧和竅門
我還想和大家分享一些 git 使用的技巧和竅門。很多使用 git 的開發者可能根本就沒用過這些技巧,我們也不是說在讀過本書後非得用這些技巧不可,但至少應該有所了解吧。說實話,有了這些小竅門,我們的工作可以變得更簡單,更輕鬆,更高效。如果在 windows 上安裝了 msysgit,預設使用的 git...
Git技巧和竅門
我還想和大家分享一些 git 使用的技巧和竅門。很多使用 git 的開發者可能根本就沒用過這些技巧,我們也不是說在讀過本書後非得用這些技巧不可,但至少應該有所了解吧。說實話,有了這些小竅門,我們的工作可以變得更簡單,更輕鬆,更高效。如果在 windows 上安裝了 msysgit,預設使用的 git...
git學習 技巧和竅門
在結束本章之前,我還想和大家分享一些 git 使用的技巧和竅門。很多使用 git 的開發者可能根本就沒用過這些技巧,我們也不是說在讀過本書後非得用這些技巧不可,但至少應該有所了解吧。說實話,有了這些小竅門,我們的工作可以變得更簡單,更輕鬆,更高效。source git completion.bash...