1、配置Git簽名
(1)語法
$ git config 配置檔案作用域 user.name '使用者名稱'
$ git config 配置檔案作用域 user.email '郵箱地址'
示例如下:
配置 user.name和user.email |
---|
$ git config --global user.name ‘your_name' |
$ git config --global user.email ‘your_email@domain.com' |
注意:這個email
一定是有效的,是你能夠收得到郵件的email
。
(2)配置系統使用者簽名
可在任意目錄下執行建立命令:git config --system
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit
$ git config --system user.name 'tang_s'
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit
$ git config --system user.email 'tang_s@126.com'
提示:在Git中,沒有提示就是最好的提示。
系統使用者註冊資訊會寫在本地Git的安裝目錄下,...\etc\gitconfig
檔案中。
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit
$ cat /f/DevInstall/Git/GitforWindows/etc/gitconfig
[diff "astextplain"]
textconv = astextplain
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[http]
sslBackend = openssl
sslCAInfo = F:/DevInstall/Git/GitforWindows/mingw64/ssl/certs/ca-bundle.crt
[core]
autocrlf = true
fscache = true
symlinks = false
[credential]
helper = manager
[user]
name = tang_s
email = tang_s@126.com
提示:之前的Git版本中,
gitconfig
檔案是在,Git安裝目錄下mingw64
目錄中的etc/gitconfig
。
(3)配置全域性使用者簽名
可在任意目錄下執行建立命令:git config --global
# 在任何位置執行都可以
# 執行這個配置表示你這臺機器上所有的Git倉庫都會使用這個配置,
# 當然也可以對某個倉庫指定不同的使用者名稱和Email地址(本地使用者)。
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit
$ git config --global user.name 'sun_wk'
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit
$ git config --global user.email 'sun_wk@126.com'
全域性使用者註冊的資訊,會寫到當前使用者目錄下.gitconfig
檔案中。
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit
$ cat /c/Users/L/.gitconfig
[user]
name = sun_wk
email = sun_wk@126.com
(4)配置本地使用者簽名
本地庫使用者只能在當前的本地庫目錄下執行該命令:
# 注意如果是配置local配置檔案簽名,可以省略--local引數
$ git config --local user.name 'sha_hs'
$ git config --local user.email 'sha_hs@126.com'
注意:
執行上邊命令,要在一個倉庫中執行,否則會提示你:
fatal: --local can only be used inside a git repository
還有
--local
選項只能在Git倉庫中使用。
演示:
# 此時learngit目錄不是一個本地Git倉庫
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit
$ git config --local user.name ''
fatal: --local can only be used inside a git repository
# 初始化learngit目錄為Git本地倉庫
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit
$ git init
Initialized empty Git repository in J:/git-repository/learngit/.git/
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
# 配置本地使用者簽名
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git config --local user.name 'sha_hs'
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git config --local user.email 'sha_hs@126.com'
本地使用者註冊資訊,會寫到當前版本庫目錄下的.git
目錄中的config
檔案中。
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[user]
name = sha_hs
email = sha_hs@126.com
注意:
- 簽名設定的使用者名稱和郵箱,主要作用就是區分不同開發人員的身份。
- 這裡設定的簽名和登入遠端庫,也就是程式碼託管中心的賬號、密碼沒有任何關係。
- Email地址沒有要求和使用者名稱一致,甚至Email地址不存在都沒事。
- 但是在實際工作中,這個Email一定是有效的,是你能夠收得到郵件的Email。
2、檢視三個配置檔案的使用者簽名
通過命令的方式檢視三個配置檔案的使用者簽名。
(1)語法
- 執行
git config
命令,來檢視各作用域配置檔案中的配置資訊。(這個命令在任何路徑下都能執行) - 只執行
git config
命令,會顯示git config
命令所有的可用引數。 - 執行
git config --list
命令,檢視當前系統中Git的所有配置,三個配置檔案所有的配置都顯示出來。 - 檢視指定指定配置檔案的內容:
執行語句 說明 $ git config --list --local
檢視專案/倉庫級別的配置檔案資訊 $ git config --list --global
檢視使用者級別配置檔案資訊 $ git config --list --system
檢視系統級別配置檔案資訊
(2)檢視專案/倉庫級別的配置檔案資訊(local)
需要進入到一個倉庫中,執行$ git config --list --local
命令,才能顯示該倉庫的配置資訊。否則會出現提示fatal: --local can only be used inside a git repository
,--local
選項只能在Git倉庫中使用。
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository
$ git config --list --local
fatal: --local can only be used inside a git repository
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository
$ cd learngit/
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git config --list --local
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
user.name=sha_hs
user.email=sha_hs@126.com
提示:
執行$ git config --list --local
命令時, Git會讀取倉庫中.git
目錄下的.git/config
配置檔案,該檔案含有當前倉庫的配置資訊。
# 檢視.git目錄
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ ll .git/
total 7
-rw-r--r-- 1 L 197121 176 4月 2 22:43 config
-rw-r--r-- 1 L 197121 73 4月 2 22:41 description
-rw-r--r-- 1 L 197121 23 4月 2 22:41 HEAD
drwxr-xr-x 1 L 197121 0 4月 2 22:41 hooks/
drwxr-xr-x 1 L 197121 0 4月 2 22:41 info/
drwxr-xr-x 1 L 197121 0 4月 2 22:41 objects/
drwxr-xr-x 1 L 197121 0 4月 2 22:41 refs/
# 檢視.git/config檔案中的內容
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[user]
name = sha_hs
email = sha_hs@126.com
(3)檢視使用者/全域性級別的配置檔案資訊(global)
在任何位置執行$ git config --list --global
命令即可。
# 任何目錄下執行都可以
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git config --list --global
user.name=sun_wk
user.email=sun_wk@126.com
注意:
如果我們是新安裝的Git,還沒有配置過
global
作用域內的配置資訊,global
級別的配置檔案是沒有的,只有我們配置一次global
級別的配置資訊,配置檔案才會生成。
fatal: unable to read config file 'C:/Users/L/.gitconfig': No such file or directory
:提示你無法讀取配置檔案'C:/Users/L/.gitconfig'
:沒有此類檔案或目錄。
提示:
當我們配置過
global
作用域中的資訊後,C:/Users/L/
中的.gitconfig
檔案出現了。執行
git config --list --global
命令後,檢視的就是C:/Users/L/.gitconfig
檔案中的內容。
(4)檢視系統級別的配置檔案資訊(system)
在任何位置執行$ git config --list --system
命令即可。
演示:
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository
$ git config --list --system
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
http.sslbackend=openssl
http.sslcainfo=F:/DevInstall/Git/GitforWindows/mingw64/ssl/certs/ca-bundle.crt
core.autocrlf=true
core.fscache=true
core.symlinks=false
credential.helper=manager
user.name=tang_s
user.email=tang_s@126.com
提示:
該命令讀取的配置檔案所在的位置是,Git安裝目錄下的
etc
目錄中的gitconfig
檔案。檢視
gitconfig
檔案中的內容,與上邊顯示的內容是對應的。
(5)檢視當前系統中Git的所有配置資訊
執行git config --list
命令,檢視當前系統中Git的所有配置,上面三個配置檔案所有的配置都顯示出來。
示例:
# 如果沒有再本地倉庫中執行該命令,只顯示系統使用者和全域性使用者配置檔案中的資訊
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository
$ git config --list
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
http.sslbackend=openssl
http.sslcainfo=F:/DevInstall/Git/GitforWindows/mingw64/ssl/certs/ca-bundle.crt
core.autocrlf=true
core.fscache=true
core.symlinks=false
credential.helper=manager
user.name=tang_s # 系統使用者簽名
user.email=tang_s@126.com
user.name=sun_wk # 全域性使用者簽名
user.email=sun_wk@126.com
# 如果在本地倉庫中執行該命令,三種使用者配置檔案的資訊都會顯示出來
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository
$ cd learngit/
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git config --list
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
http.sslbackend=openssl
http.sslcainfo=F:/DevInstall/Git/GitforWindows/mingw64/ssl/certs/ca-bundle.crt
core.autocrlf=true
core.fscache=true
core.symlinks=false
credential.helper=manager
user.name=tang_s # 系統使用者簽名
user.email=tang_s@126.com
user.name=sun_wk # 全域性使用者簽名
user.email=sun_wk@126.com
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
user.name=sha_hs # 本地使用者簽名
user.email=sha_hs@126.com
3、總結
- 在本地Git的安裝目錄下,
etc\gitconfig
檔案:是對登陸該作業系統的所有使用者都普遍適用的配置。若使用git config
命令時加上--system
選項,讀寫的就是這個檔案中的內容。 - 當前作業系統使用者目錄下
.gitconfig
檔案:該配置檔案只適用於該使用者,該使用者可以配置Git使用者簽名等資訊到這個配置檔案中,是對這臺計算機上所有的Git倉庫適用。若使用git config
命令時加上--global
選項,讀寫的就是這個檔案中的內容。 - Git本地倉庫中
.git/config
檔案:當前專案的Git本地倉庫中的配置檔案,檔案中的配置僅僅針對當前專案倉庫有效。
提示:每一個級別的配置都會覆蓋上層的相同配置。(
local
覆蓋global
覆蓋system
)