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