三、Arch Linux Cheat Sheet (GIT配置)

ArchLinux?VirtualBox?Git?$PS1?Promt color


上一篇·易用性配置 I


簡介:在Arch Linux 命令行下安裝Git,并設置bash提示符,使之顯示當前分支

一、安裝Git

pacman -Sy git

二、基本設置

git config --global user.name "Yourname"
git config --global user.name "Youremail@xxx.com"
git config --global core.editor vim
# 上述設置會體現在 ~/.gitconfig文件當中,只對當前用戶有效。
如果使用GitHub,可能會用到SSH Key
ssh-keygen -t rsa -C "Youremail@xxx.com"
# 會提示輸入密碼,可為空

上述命令會在~/.ssh/中生成兩個配對文件id_rsaid_rsa.pub,用途是將id_rsa.pub中的內容添加到你的GitHub的信任列表當中,之后Git需要訪問GitHub的時候就會拿本地的id_rsa和它去匹配,就不用提示你輸入密碼了。

三、設置提示符路徑中顯示當前Git分支

編輯~/.bashrc文件
vim ~/.bashrc

按以下內容修改:<簡單測試OK,歡迎完善>
# 添加以下內容
function get_git_branchname ()
{
local dir=.
until [ "$dir" -ef / ]
do
if [ -f "$dir/.git/HEAD" ]; then
git_branchname=$(git symbolic-ref --short -q HEAD 2>/dev/null)
git_branchname=" ("$git_branchname")" # 左括號前有一個空格
return
else
dir="../$dir"
fi
done
git_branchname=''
}

PROMPT_COMMAND="get_git_branchname; $PROMPT_COMMAND"

# 修改PS1
PS1='\[\e[32;1m\]\u@\h:\[\e[34;40m\][\w\[\e[36;1m\]$git_branchname\[\e[34;40m\]] \[\e[0m\]\$ '

1.對PS1所賦值按順序拆分說明:

<u>\[\e[32;1m\]???:字體綠色高亮顯示
\u???????????:用戶
@????????????:顯示字符@
\h???????????:主機名稱hostname
:????????????:顯示字符
\[\e[34;40m\]??:字體藍色背景黑色
[????????????:顯示字符[
\w???????????:當前工作路徑Working Directory
\[\e[36;1m\]???:字體青色高亮
$git_branchname :變量git_branchname的值
\[\e[34;40m\]??:字體藍色背景黑色
]????????????:顯示字符]
空格??????????:顯示一個空格
\[\e[0m\]????? :關閉顏色輸出
\$???????????:提示字符,root為:# ,普通用戶則為:$
空格??????????:顯示一個空格</u>

2.對PS1的顏色說明:

To add colors to the shell prompt use the following export command syntax:
?
?????<u>\e[x;ym $PS1 \e[m</u>

Where,
  • \e[ _;_ m : Start color scheme.
  • X;Y : Color pair to use (X;Y)
  • $PS1 : Your shell prompt variable.
  • \e[m\e[0m : Stop color scheme.

說明:

  1. 當顏色設置符出現了,其后面所有的字符都要按照它的要求顯示(包括用戶輸入的命令),除非遇到另外一種顏色設置改變或者顏色輸出結束標記結束。
  2. 需要在顏色前后加[ ],否則在終端需要輸入長命令的時候,超界內容不會自動換行,而是在行首開始覆蓋。但是不能直接增加[ ],需要進行轉義,這就是多了許多\[,\]的原因。
  3. Color pair--X;Y,經過測試并不是按照常理——X決定字體顏色,Y決定背景顏色。而是僅僅通過數字來控制,和位置沒有關系——32;4545;32效果是一樣的,32;320;32效果是一樣的。

顏色表參考:
前景?背景? 顏色
?30???40??黑色
?31???41??紅色
?32???42??綠色
?33???43??黃色
?34???44??藍色
?35???45??紫色
?36???46??青色
?37???47??白色

特殊意義數字:
代碼??意義
?0????OFF
?1????高亮顯示
?4????underline
?5????閃爍
?7????反白顯示
?8????不可見

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容