1. 程式人生 > 其它 >Linux 終端顯示 Git 當前所在分支

Linux 終端顯示 Git 當前所在分支

技術標籤:工具使用

一、前置預備知識

PS1是Linux終端使用者的一個環境變數,用來定義命令列提示符的引數。

  • 在~/.bashrc中修改PS1的環境變數可以修改主機提示符

常規設定引數

PS1是主提示符變數,也是預設提示符變數。預設值[\[email protected]\h \W]\$,顯示使用者主機名稱工作目錄。

基本上通過設定PS1來定義命令列提示字元即可,最常用的需求就是顯示登入的使用者名稱、主目錄、主機名等等。

$export PS1='[\[email protected]\h \W]\$ \n\$'
[[email protected] model]$ 
$
  • PS1變數可以使用的引數值有如下:
引數描述
/d代表日期,格式為weekday month date,例如:”Mon Aug 1”
/H完整的主機名稱。例如:我的機器名稱為:fc4.linux,則這個名稱就是fc4.linux
/h僅取主機的第一個名字,如上例,則為fc4,.linux則被省略
/t顯示時間為24小時格式,如:HH:MM:SS
/T顯示時間為12小時格式
/A顯示時間為24小時格式:HH:MM
/u當前使用者的賬號名稱
/vBASH的版本資訊
/w完整的工作目錄名稱。家目錄會以 ~代替
/W利用basename取得工作目錄名稱,所以只會列出最後一個目錄
/#下達的第幾個命令
/$提示字元,如果是root時,提示符為:#
,普通使用者則為:$
/[字元”[“
/]字元”]”
/!命令列動態統計歷史命令次數
  • PS1顏色設定引數
在PS1中設定字元顏色的格式為:\[\e[F;Bm\]........\[\e[0m\]其中“F“為字型顏色,編號為30-37,“B”為背景顏色,編號為40-47,\[\e[0m\]作為顏色設定的結束。

顏色對照表:

        F  B

    30 40 黑色

    31 41 紅色

    32 42 綠色

    33 43 黃色

    34 44 藍色

    35 45 紫紅色

    36 46 青藍色

    37 47 白色

   只需將對應數字套入設定格式中即可。
比如要設定命令列的格式為綠字黑底(\[\e[32;40m\]),顯示當前使用者的賬號名稱(\u)、主機的第一個名字(\h)、完整的當前工作目錄名稱(\w)、24小時格式時間(\t),可以直接在命令列鍵入如下命令:
$export  PS1='[\[\e[32;40m\]\[email protected]\h \w \t]$ \[\e[0m\]'    
[[email protected] ~/wly.dev/model 09:46:47]$ 

二、顯示git分支提示

  • 基於上面PS1的基礎知識進行配置PS1的設定,如下
function git_branch {
  branch="`git branch 2>/dev/null | grep "^\*" | sed -e "s/^\*\ //"`"
  if [ "${branch}" != "" ];then
    if [ "${branch}" = "(no branch)" ];then
      branch="(`git rev-parse --short HEAD`...)"
    fi
    echo " → $branch"
  fi
}
PS1='\[\033[01;32m\]\[email protected]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\[\033[01;32m\]$(git_branch)\[\033[00m\]\n\$'
  • 效果圖