一、git的配置級別
- git配置級別主要有以下3類:
- 倉庫級別 local 【優先級最高】
- 用戶級別 global【優先級次之】
- 系統級別 system【優先級最低】
二、git的配置文件
- 各個級別的配置文件分別位於:
- 倉庫級別:爲當前倉庫下的.git/config文件
- 用戶級別:爲~/.gitconfig文件
- 系統級別:爲/etc/gitconfig文件
配置文件如何生效的
- 對於git來說,配置文件的權重是倉庫>全局>系統。Git會使用這一系列的配置文件來存儲你定義的偏好,它首先會查找/etc/gitconfig文件(系統級),該文件含有對系統上所有用戶及他們所擁有的倉庫都生效的配置值。接下來Git會查找每個用戶的~/.gitconfig文件(全局級)。最後Git會查找由用戶定義的各個庫中Git目錄下的配置文件.git/config(倉庫級),該文件中的值只對當前所屬倉庫有效
三、git的用戶配置
配置用戶名和郵箱等
- 在git初次使用時,一般需要配置用戶的一些信息
- 例如:下面配置使用Git時的姓名和郵箱地址(名字請用英文輸入)
git config --global user.name "Firstname Lastname" git config --global user.email "[email protected]"
- 輸入之後,~/目錄下會有一個名爲.gitconfig的配置文件,其中就有我們配置的選項和值
- 之後想要更改這些信息時,可以直接更改這個配置文件,也可以使用上面的命令
- 這裏設置的姓名和郵箱地址會用在 Git 的提交日誌中。由於在 GitHub 上公開倉庫時,這 裏的姓名和郵箱地址也會隨着提交日誌一同被公開,所以請不要使用不 便公開的隱私信息
提供命令輸出的可讀性
- 順便一提,將color.ui設置爲auto可以讓命令的輸出擁有更高的可讀性
- 例如:
- 這樣一來,各種命令的輸出就會變得更容易分辨
四、查看配置文件信息信息
#查看倉庫配置:必須要進入到具體的目錄下纔可以查看
git config --local -l
#查看用戶配置
git config --global -l
#查看系統配置
git config --system -l
#查看所有的配置信息,依次是系統級別、用戶級別、倉庫級別
git config -l
- 例如下面查看當前用戶的配置:
五、git config的常用配置選項
編輯配置文件
- 輸入下面的命令會使用Linux的nano編輯器來編輯對應級別的配置文件
#編輯倉庫級別配置文件 git config --local -e #編輯用戶級別配置文件 git config --global -e #編輯系統級別配置文件 git config --system -e
- 備註:當然你也可以使用vim來編輯配置文件,但是需要加上路徑。此處介紹的方法不需要加路徑
- 例如:下面編輯用戶級別的配置文件,回車之後進入nano編輯器
git config --global -e
添加配合項目
- 可以用來爲配置文件添加相關的選項和值
#添加到倉庫級別的配置文件 git config --local [key] [value] #添加到用戶級別的配置文件 git config --global [key] [value] #添加到系統級別的配置文件 git config --system [key] [value]
- 例如:下面 用戶級別的配置文件添加用戶的名稱
git config --global user.name “Your Name”
六、配置項的設置
增加配置項(--add)
- 默認是添加在local配置中
- 注意add後面的section,key,value一項都不能少,否則添加失敗
git config [--local|--global|--system] --add section.key value
- 例如:我們在用戶級別的配置文件中添加一個配置項,並且同時設置key與value。然後查看~/.gitconfig文件可以看到我們成功添加的內容
git config --global --add demo.name dongshao
獲取一個配置項(--get)
- 默認是獲取local配置中內容
如果獲取一個section不存在的key值,不會返回任何值
如果獲取一個不存在的section的key值,則會報錯
git config [--local|--global|--system] --get section.key
- 例如:獲取上面我們添加的配置項和項內容
git config --global --get demo.name
刪除一個配置項(--unset)
git config [--local|--global|--system] --unset section.key
- 例如:刪除上面我們設置的配置項
git config --global --unset demo.name
- 刪除之後項的名稱依然存在