在 Git 中如何配置用戶信息
大家好,我是前端西瓜哥。
最近買了臺(tái)新的筆記本,重新裝了一些軟件,這次就說說怎么在 git 中配置用戶信息吧。
當(dāng)我們安裝了 git 后,一件非常重要的事情就是配置我們的用戶名和郵箱地址,因?yàn)槲覀兲峤淮a到遠(yuǎn)端服務(wù)器需要通過它們來得知提交者是誰。
查看配置列表
在配置用戶信息前,我們需要確定自己是否已配置了用戶信息。
我們先查看所有的配置:
git config --list
如果在一個(gè) git 倉(cāng)庫(kù)下輸入這個(gè)命令,你會(huì)得到類似下面的內(nèi)容:
credential.helper=osxkeychain
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=true
remote.origin.url=git@github.com:F-star/svg-editor.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.main.remote=origin
branch.main.merge=refs/heads/main
配置分為全局配置(global)和本地配置(local)。全局配置影響所有的 git 倉(cāng)庫(kù),本地配置只影響它所在的 git 倉(cāng)庫(kù),并可以覆蓋全局的配置。
上面的內(nèi)容中,除了第一行來自全局配置,其他配置都是來自該 git 倉(cāng)庫(kù),具體配置文件位置在 ??.git/config?
?
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = git@github.com:F-star/svg-editor.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "main"]
remote = origin
merge = refs/heads/main
全局配置來自當(dāng)前用戶家目錄下的 .gitconfig 文件,即 ??~/.gitconfig?
?。
用編輯器(通常是 vim)打開配置文件的命令如下:
# 打開全局配置
git config --global --edit
# 打開當(dāng)前 git 倉(cāng)庫(kù)配置
git config --edit
(希望你至少知道該如何退出 vim,祝福)。
查看指定配置
上面列表內(nèi)容有點(diǎn)多,我們可以只看需要的用戶信息配置。
查看配置的用戶的 用戶名/郵箱地址:
git config user.name
git config user.email
命令會(huì)先找 git 倉(cāng)庫(kù)里的配置,找不到再找全局配置。如果什么都沒輸出,說明你沒有配置。
你也可以指定配置的作用域?yàn)?local 還是 global:
# 本地
git config --local user.email
# 全局
git config --global user.email
如果都沒有,就要去配置了。
配置用戶信息
配置全局的用戶信息:
git config --global user.name "前端西瓜哥"
git config --global user.email "work-email@gmail.com"
雙引號(hào)可加可不加,如果值中間有空格符,就要加上。
如果你想配置當(dāng)前項(xiàng)目的用戶信息,將 --global 去掉即可,或者也可以改成 --local。
git config user.email "person-email@gmail.com"
這在你用公司的電腦折騰自己的個(gè)人項(xiàng)目很有用,畢竟你也不希望自己的個(gè)人項(xiàng)目的 commit 提交顯示的是公司郵箱。
刪除配置
當(dāng)不需要一個(gè)配置時(shí),我們可以使用 --unset 配置項(xiàng)。也可以直接改配置文件。
# 本地
git config --unset user.email
# 全局
git config --global --unset user.email
結(jié)尾
你學(xué)會(huì)了嗎?