章節 ▾ 第二版

A1.6 附錄 A:Git 在其他環境中的使用 - Git 在 Bash 中

Git 在 Bash 中

如果您是 Bash 使用者,您可以利用一些 shell 的特性,讓 Git 的使用體驗更加友好。Git 實際上自帶了適用於多種 shell 的外掛,但預設情況下並未開啟。

首先,您需要從您正在使用的 Git 版本的原始碼中獲取補全檔案。透過輸入 git version 來檢查您的版本,然後使用 git checkout tags/vX.Y.Z,其中 vX.Y.Z 對應您正在使用的 Git 版本。將 contrib/completion/git-completion.bash 檔案複製到方便的位置,例如您的主目錄,然後將以下內容新增到您的 .bashrc 檔案中:

. ~/git-completion.bash

完成以上步驟後,將目錄更改到 Git 倉庫中,然後輸入:

$ git chec<tab>

Bash 會自動補全為 git checkout。這適用於 Git 的所有子命令、命令列引數,以及在適當情況下的遠端倉庫和引用名稱。

自定義您的提示符以顯示當前目錄 Git 倉庫的資訊也很有用。這可以很簡單也可以很複雜,但通常大多數人都需要一些關鍵資訊,例如當前分支和工作目錄的狀態。要將這些新增到您的提示符中,只需將 contrib/completion/git-prompt.sh 檔案從 Git 的原始碼倉庫複製到您的主目錄,然後將類似以下內容新增到您的 .bashrc 檔案中:

. ~/git-prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=1
export PS1='\w$(__git_ps1 " (%s)")\$ '

\w 表示列印當前工作目錄,\$ 列印提示符的 $ 部分,而 __git_ps1 " (%s)" 呼叫 git-prompt.sh 提供的函式,並帶有一個格式引數。現在,當您處於 Git 控制的專案中的任何位置時,您的 bash 提示符將顯示如下:

Customized `bash` prompt
圖 184. 自定義 bash 提示符

這兩個指令碼都附帶了非常有用的文件;請檢視 git-completion.bashgit-prompt.sh 的內容以獲取更多資訊。