Git配置用戶簽名方式及原因說明
1、為什么要?jiǎng)?chuàng)建用戶簽名
作為版本控制系統(tǒng)的客戶端,每臺(tái)客戶機(jī)對(duì)版本庫(kù)的所有提交操作,都需要注明操作者的身份。所以客戶機(jī)首先需要進(jìn)行自我身份的注冊(cè),即創(chuàng)建用戶。Git要求“用戶名和Email"這兩樣信息是必不可少的。
也就是說再讓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
取出來,然后發(fā)個(gè)郵件給變更的人。所以你變更的信息中的用戶name
和email
是必須配置起來的。
假使大家在用Git的時(shí)候如果忘了做這個(gè)配置,那后期你在Git做過變更提交的時(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
命令,只不過使用的選項(xiàng)不同。
這三個(gè)級(jí)別為local
、global
、system
。說明如下:
- 項(xiàng)目級(jí)別/倉(cāng)庫(kù)級(jí)別(local):
文件位置:該文件位于當(dāng)前倉(cāng)庫(kù)下的.git
目錄中,文件名為config
。
作用:是指對(duì)某一個(gè)Git倉(cāng)庫(kù)生效的。也就是說我們?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ù)有效。如果說切換到另外一個(gè)Git的倉(cāng)庫(kù),那local范圍的配置值就不再生效了。
- 用戶級(jí)別/全局級(jí)別(global):
文件位置:在計(jì)算機(jī)中系統(tǒng)盤的個(gè)人用戶目錄中,如:C:\Users\L\.gitconfig
。注意,如果沒有配置過用戶級(jí)別級(jí)別的配置信息,是沒有該文件的,配置一次就會(huì)自動(dòng)生成的。
作用:比如說我的電腦中有十個(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ì)以小范圍用戶來操作Git。
4、總結(jié)
一般在新的Git版本控制系統(tǒng)上,我們都需要先配置下自己的Git工作環(huán)境。配置工作只需一次,以后升級(jí)時(shí)還會(huì)沿用現(xiàn)在的配置。當(dāng)然,如果需要,你隨時(shí)可以用相同的命令修改已有的配置。
個(gè)人的用戶名稱和電子郵件地址,這兩條配置很重要,每次Git提交時(shí)都會(huì)引用這兩條信息,說明是誰(shuí)提交了更新,所以會(huì)隨更新內(nèi)容起被永久納入版本歷史記錄。
每個(gè)機(jī)器都必須自報(bào)家門,就是你的簽名(名字和Email地址)。你也許會(huì)擔(dān)心,如果有人故意冒充別人怎么辦?這個(gè)不必?fù)?dān)心,首先我們相信大家都是善良無(wú)知的群眾,其次,真的有冒充的也是有辦法可查的。
以上就是Git配置用戶簽名方式及原因說明的詳細(xì)內(nèi)容,更多關(guān)于Git配置用戶簽名的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
最新idea2021注冊(cè)碼永久激活(激活到2100年)
這篇文章主要介紹了idea2021注冊(cè)碼永久激活(激活到2100年),文中給大家提到了2020年最新JetBrains授權(quán)服務(wù)器-IntelliJ IDEA激活,需要的朋友可以參考下2020-01-01使用 tke-autoscaling-placeholder 實(shí)現(xiàn)秒級(jí)彈性伸縮的方法
這篇文章主要介紹了使用 tke-autoscaling-placeholder 實(shí)現(xiàn)秒級(jí)彈性伸縮的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01chatgpt國(guó)內(nèi)鏡像?pycharm?idea插件使用詳解
這篇文章主要介紹了chatgpt國(guó)內(nèi)鏡像?pycharm?idea插件使用詳解,本文通過圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-02-02matlab讀取串口數(shù)據(jù)并顯示曲線的實(shí)現(xiàn)示例
這篇文章主要介紹了matlab讀取串口數(shù)據(jù)并顯示曲線的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08