Git配置用戶簽名方式及原因說(shuō)明
1、為什么要?jiǎng)?chuàng)建用戶簽名
作為版本控制系統(tǒng)的客戶端,每臺(tái)客戶機(jī)對(duì)版本庫(kù)的所有提交操作,都需要注明操作者的身份。所以客戶機(jī)首先需要進(jìn)行自我身份的注冊(cè),即創(chuàng)建用戶。Git要求“用戶名和Email"這兩樣信息是必不可少的。
也就是說(shuō)再讓Git干活之前,必須得做一個(gè)最小配置,要把參與項(xiàng)目開發(fā)的工作人員的user.name以及user.email進(jìn)行設(shè)置。
配置簽名的作用:只是區(qū)分不同開發(fā)人員的身份。
2、為什么要在Git中配置這些信息
我們每一次的變更,在哪個(gè)時(shí)間點(diǎn),是誰(shuí)做出的變更,這兩個(gè)信息是跟著某個(gè)變更的信息捆綁在一起。同時(shí)我們?cè)谧?code>code review(代碼審查)的時(shí)候,每一次的變更,如果帶上了用戶的email地址,那么評(píng)審的人員在平臺(tái)上面指出了你哪個(gè)文件、哪個(gè)地方有問題之后。
那我們Git的版本管控的web系統(tǒng),它就自動(dòng)的會(huì)把變更者的email取出來(lái),然后發(fā)個(gè)郵件給變更的人。所以你變更的信息中的用戶name和email是必須配置起來(lái)的。
假使大家在用Git的時(shí)候如果忘了做這個(gè)配置,那后期你在Git做過(guò)變更提交的時(shí)候,他會(huì)有一長(zhǎng)串的提示信息,告訴你必須做相關(guān)的配置。如下:
*** Please tell me who you are. Run git config --global user.email "you@example.com" git config --global user.name "Your Name" to set your account's default identity. Omit --global to set the identity only in this repository. fatal: unable to auto-detect email address (got 'L@DESKTOP-T2AI2SU.(none)')
3、創(chuàng)建用戶簽名的方式
Git具有三種不同的方式創(chuàng)建用戶簽名,會(huì)產(chǎn)生三種不同作用域的用戶。
這三種創(chuàng)建方式的用戶信息,會(huì)寫到三個(gè)不同位置的配置文件中。
這三種用戶的創(chuàng)建均需要使用git config命令,只不過(guò)使用的選項(xiàng)不同。
這三個(gè)級(jí)別為local、global、system。說(shuō)明如下:
- 項(xiàng)目級(jí)別/倉(cāng)庫(kù)級(jí)別(local):
文件位置:該文件位于當(dāng)前倉(cāng)庫(kù)下的.git目錄中,文件名為config。
作用:是指對(duì)某一個(gè)Git倉(cāng)庫(kù)生效的。也就是說(shuō)我們?cè)谑褂肎it管理文件系統(tǒng)的時(shí)候,它不是整個(gè)操作系統(tǒng)級(jí)別的管理。
比如他是在某一個(gè)地方建了一個(gè)Git的倉(cāng)庫(kù),相當(dāng)于是獨(dú)立的一個(gè)項(xiàng)目管控的一個(gè)區(qū)域。
如果設(shè)置了local的話,Git所配置的這些信息(user.name,usere.mail),只會(huì)針對(duì)當(dāng)前你工作的倉(cāng)庫(kù)有效。如果說(shuō)切換到另外一個(gè)Git的倉(cāng)庫(kù),那local范圍的配置值就不再生效了。
- 用戶級(jí)別/全局級(jí)別(global):
文件位置:在計(jì)算機(jī)中系統(tǒng)盤的個(gè)人用戶目錄中,如:C:\Users\L\.gitconfig。注意,如果沒有配置過(guò)用戶級(jí)別級(jí)別的配置信息,是沒有該文件的,配置一次就會(huì)自動(dòng)生成的。
作用:比如說(shuō)我的電腦中有十個(gè)Git倉(cāng)庫(kù),global級(jí)別的這些配置,對(duì)這十個(gè)倉(cāng)庫(kù)都是有效的,也就是對(duì)當(dāng)前用戶對(duì)本地的所有倉(cāng)庫(kù)都有效。
所以有些時(shí)候,很可能為了提高效率,就可以用global范圍進(jìn)行配置用戶簽名,就沒必要登錄到一個(gè)一個(gè)的倉(cāng)庫(kù)里面做這種配置,所以工作當(dāng)中global的方式是非常常用的。
(即:表示授權(quán)一個(gè)用戶對(duì)該計(jì)算機(jī)中所有的倉(cāng)庫(kù)都有權(quán)操作)
- 系統(tǒng)級(jí)別(system):
文件位置:文件在本地Git的安裝目錄下,...\etc\gitconfig文件中。
作用:表示只要登陸了該操作系統(tǒng)的用戶,就對(duì)系統(tǒng)中的所有Git倉(cāng)庫(kù)有操作權(quán)。
它是對(duì)系統(tǒng)所有登錄的用戶都有效,這個(gè)范圍不常用(基本不用)。
提示:這三種創(chuàng)建用戶簽名的作用域由大到小依次是:系統(tǒng)用戶,全局用戶與本地庫(kù)用戶。
在多種用戶都進(jìn)行了創(chuàng)建的前提下,小范圍用戶簽名會(huì)覆蓋大范圍用戶簽名,即默認(rèn)會(huì)以小范圍用戶來(lái)操作Git。
4、總結(jié)
一般在新的Git版本控制系統(tǒng)上,我們都需要先配置下自己的Git工作環(huán)境。配置工作只需一次,以后升級(jí)時(shí)還會(huì)沿用現(xiàn)在的配置。當(dāng)然,如果需要,你隨時(shí)可以用相同的命令修改已有的配置。
個(gè)人的用戶名稱和電子郵件地址,這兩條配置很重要,每次Git提交時(shí)都會(huì)引用這兩條信息,說(shuō)明是誰(shuí)提交了更新,所以會(huì)隨更新內(nèi)容起被永久納入版本歷史記錄。
每個(gè)機(jī)器都必須自報(bào)家門,就是你的簽名(名字和Email地址)。你也許會(huì)擔(dān)心,如果有人故意冒充別人怎么辦?這個(gè)不必?fù)?dān)心,首先我們相信大家都是善良無(wú)知的群眾,其次,真的有冒充的也是有辦法可查的。
以上就是Git配置用戶簽名方式及原因說(shuō)明的詳細(xì)內(nèi)容,更多關(guān)于Git配置用戶簽名的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python操作ES的方式及與Mysql數(shù)據(jù)同步過(guò)程示例
這篇文章主要為大家介紹了?Python操作Elasticsearch的兩種方式及與Mysql數(shù)據(jù)同步過(guò)程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04
深入理解TCP協(xié)議與UDP協(xié)議的原理及區(qū)別
網(wǎng)絡(luò)編程有三個(gè)要素,分別是IP地址、端口號(hào)和通信協(xié)議,那本文主要講述的是TCP與UDP這兩種通信協(xié)議,以及編程的實(shí)現(xiàn),感興趣的可以了解一下2021-06-06
自動(dòng)駕駛技術(shù)之V2X技術(shù)的介紹
本章內(nèi)容介紹了如何利用車輛自身的智能,還可以借助外部環(huán)境實(shí)現(xiàn)信息的獲取,這一類技術(shù)統(tǒng)稱為V2X技術(shù)。接下來(lái)我們大家一起來(lái)學(xué)習(xí)吧2021-08-08
使用 FFmpeg 命令拼接mp3音頻文件異常問題及解決方法
這篇文章主要介紹了使用 FFmpeg 命令拼接mp3音頻文件異常問題及解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的工作或?qū)W習(xí)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
visualstudio的.sln文件和.vcxproj文件的區(qū)別
.sln?文件和?.vcxproj?文件是兩個(gè)常用的項(xiàng)目文件,本文主要介紹了visualstudio的.sln文件和.vcxproj文件的區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10
Delphi - Indy idMessage和idSMTP實(shí)現(xiàn)郵件的發(fā)送
這篇文章主要介紹了Delphi - Indy idMessage和idSMTP實(shí)現(xiàn)郵件的發(fā)送,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08

