20210714更新
對git終端的username和email設(shè)置與git認(rèn)證無關(guān)這一問題做進(jìn)一步的解釋如下:
一般而言十减,所有的git托管平臺都有兩種登錄認(rèn)證和鑒權(quán)方式——https和ssh
- https需要通過項(xiàng)目所在托管平臺(如github.com)的賬號和密碼來認(rèn)證和鑒權(quán)賬戶,例如賬密認(rèn)證鑒權(quán)github.com的注冊賬戶、賬密認(rèn)證鑒權(quán)公司內(nèi)網(wǎng)git.enterprise.com的注冊賬戶等
- ssh通過公私密鑰驗(yàn)證賬戶。有托管平臺上相應(yīng)倉庫權(quán)限的賬戶U先通過賬號密碼方式登入git托管平臺决帖,然后將生成的rsa公私密鑰中的公鑰在git托管平臺上與自己的賬號綁定星虹,而終端持有rsa私鑰,就實(shí)現(xiàn)了賬戶U在該終端的免密登陸锚赤。如果我們將這個(gè)rsa私鑰放到另一臺終端上,那么另一臺終端也可以實(shí)現(xiàn)賬戶U的免密登陸
可以看到褐鸥,不管是哪種認(rèn)證方式线脚,都是基于git托管平臺的平臺賬戶,而不是git終端的username和email設(shè)置叫榕。git終端關(guān)于username和email設(shè)置的唯一用處就在于浑侥,在后續(xù)的commit等操作記錄身份
安裝了git之后,我容易忘記配置git config翠霍,總是等到首次commit的時(shí)候git提示Please tell me who you are.才記起來沒有配置user.name和user.email锭吨。而user.name和user.email是git config的一部分
git config
git擁有3個(gè)配置文件,按優(yōu)先級由高到低排序?yàn)椋?/p>
--local 倉庫級寒匙,優(yōu)先級最高零如,只對當(dāng)前倉庫起作用。local config文件的路徑為當(dāng)前倉庫下.git/config锄弱,可直接打開該文件或使用git config --local -l命令查看local的配置信息
--global 全局級(稱作用戶級更貼切)考蕾,優(yōu)先級次之,只對登錄操作系統(tǒng)的當(dāng)前用戶起作用会宪。在Windows下肖卧,global config文件的路徑是C:\Users\User\.gitconfig,可直接打開該文件或使用git config --global -l命令查看global的配置信息
- 該配置文件的存在使得單個(gè)用戶User想使用同一個(gè)身份對多個(gè)git倉庫進(jìn)行修改時(shí)掸鹅,無需配置多個(gè)倉庫級config文件塞帐,而只需配置一份自己的global級(用戶級)的config文件
- 而當(dāng)另一個(gè)用戶登錄系統(tǒng)時(shí),又會使用他自己的用戶級config文件進(jìn)行g(shù)it操作巍沙,從而實(shí)現(xiàn)不同用戶間身份的隔離
--system 系統(tǒng)級葵姥,優(yōu)先級最低,適用范圍廣句携,適用于所有的用戶榔幸、所有的倉庫。在Windows下,系統(tǒng)級config文件的路徑為git安裝目錄\etc\gitconfig削咆,可以被所有用戶牍疏、所有倉庫使用,同樣可以直接打開或git config --system -l命令查看
git優(yōu)先使用高級別的config拨齐,當(dāng)高級別config無法滿足需求時(shí)鳞陨,才向下使用
如果命令git config后不指定級別,將顯示三個(gè)配置文件中目標(biāo)結(jié)果的總和奏黑,如git config -l 會顯示最終三個(gè)配置文件的所有配置信息總和
git配置用戶名和郵箱
用戶名和郵箱是本地git客戶端的2個(gè)變量
git 是源管理系統(tǒng)炊邦,git的每次commit需要使用用戶名和對應(yīng)的郵箱地址來明確操作產(chǎn)生的源頭
git 配置郵箱時(shí)不會對郵箱的合法性進(jìn)行檢查编矾,但建議寫一個(gè)能用的熟史。。窄俏。
一般來說蹂匹,配置倉庫級的用戶名和郵箱沒有必要。實(shí)際使用中凹蜈,同一個(gè)系統(tǒng)用戶一般都使用同一個(gè)git配置限寞,因此一般針對用戶級config做配置
用戶名和郵箱的配置命令如下:
1 git config --global user.name "yourname"
2 git config --global user.email "youremail@email.com"