『現學現忘』Git基礎 — 10、配置Git使用者簽名說明

繁華似錦Fighting發表於2022-04-18

1、為什麼要建立使用者簽名

作為版本控制系統的客戶端,每臺客戶機對版本庫的所有提交操作,都需要註明操作者的身份。所以客戶機首先需要進行自我身份的註冊,即建立使用者。Git要求“使用者名稱和Email"這兩樣資訊是必不可少的。

也就是說再讓Git幹活之前,必須得做一個最小配置,要把參與專案開發的工作人員的user.name以及user.email進行設定。

配置簽名的作用:只是區分不同開發人員的身份。

2、為什麼要在Git中配置這些資訊

我們每一次的變更,在哪個時間點,是誰做出的變更,這兩個資訊是跟著某個變更的資訊捆綁在一起。同時我們在做code review(程式碼審查)的時候,每一次的變更,如果帶上了使用者的email地址,那麼評審的人員在平臺上面指出了你哪個檔案、哪個地方有問題之後。那我們Git的版本管控的web系統,它就自動的會把變更者的email取出來,然後發個郵件給變更的人。所以你變更的資訊中的使用者nameemail是必須配置起來的。

假使大家在用Git的時候如果忘了做這個配置,那後期你在Git做過變更提交的時候,他會有一長串的提示資訊,告訴你必須做相關的配置。如下:

*** 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、建立使用者簽名的方式

Git具有三種不同的方式建立使用者簽名,會產生三種不同作用域的使用者。這三種建立方式的使用者資訊,會寫到三個不同位置的配置檔案中。這三種使用者的建立均需要使用git config命令,只不過使用的選項不同。

這三個級別為localglobalsystem。說明如下:

  1. 專案級別/倉庫級別(local)
    檔案位置:該檔案位於當前倉庫下的.git目錄中,檔名為config
    作用:是指對某一個Git倉庫生效的。也就是說我們在使用Git管理檔案系統的時候,它不是整個作業系統級別的管理。比如他是在某一個地方建了一個Git的倉庫,相當於是獨立的一個專案管控的一個區域。如果設定了local的話,Git所配置的這些資訊(user.nameusere.mail),只會針對當前你工作的倉庫有效。如果說切換到另外一個Git的倉庫,那local範圍的配置值就不再生效了。
  2. 使用者級別/全域性級別(global)
    檔案位置:在計算機中系統盤的個人使用者目錄中,如:C:\Users\L\.gitconfig。注意,如果沒有配置過使用者級別級別的配置資訊,是沒有該檔案的,配置一次就會自動生成的。
    作用:比如說我的電腦中有十個Git倉庫,global級別的這些配置,對這十個倉庫都是有效的,也就是對當前使用者對本地的所有倉庫都有效。所以有些時候,很可能為了提高效率,就可以用global範圍進行配置使用者簽名,就沒必要登入到一個一個的倉庫裡面做這種配置,所以工作當中global的方式是非常常用的。
    (即:表示授權一個使用者對該計算機中所有的倉庫都有權操作)
  3. 系統級別(system)
    檔案位置:檔案在本地Git的安裝目錄下,...\etc\gitconfig檔案中。
    作用:表示只要登陸了該作業系統的使用者,就對系統中的所有Git倉庫有操作權。它是對系統所有登入的使用者都有效,這個範圍不常用(基本不用)。

提示:這三種建立使用者簽名的作用域由大到小依次是:系統使用者,全域性使用者與本地庫使用者。在多種使用者都進行了建立的前提下,小範圍使用者簽名會覆蓋大範圍使用者簽名,即預設會以小範圍使用者來操作Git。

4、總結

一般在新的Git版本控制系統上,我們都需要先配置下自己的Git工作環境。配置工作只需一次,以後升級時還會沿用現在的配置。當然,如果需要,你隨時可以用相同的命令修改已有的配置。

個人的使用者名稱稱和電子郵件地址,這兩條配置很重要,每次Git提交時都會引用這兩條資訊,說明是誰提交了更新,所以會隨更新內容起被永久納入版本歷史記錄。

每個機器都必須自報家門,就是你的簽名(名字和Email地址)。你也許會擔心,如果有人故意冒充別人怎麼辦?這個不必擔心,首先我們相信大家都是善良無知的群眾,其次,真的有冒充的也是有辦法可查的。

相關文章