切換語言為:簡體

Git如何配置多個使用者

  • 爱糖宝
  • 2024-10-14
  • 2047
  • 0
  • 0

利用 .gitconfigincludeIf 語句匹配不同的遠端倉庫url切換 user

配置 gitconfig

~/.gitconfig 同目錄下建立多個 .gitconfig.<你希望的名稱> 配置檔案。

在配置檔案裡寫入以下內容:

[user]
    name = <your name>
    email = <your email>

以github 和 gitee 舉例,我希望在這兩個 remote 中提交程式碼使用不同的 user(真實場景應該是公司內部倉庫應該使用真實名字提交)

[includeIf "hasconfig:remote.*.url:git@github.com:**/**/"]
	path = ~/.gitconfig.<你希望的名稱>
[includeIf "hasconfig:remote.*.url:*gitee.com**/**/*"]
	path = ~/.gitconfig_gitee.<你希望的名稱2>

如果習慣使用 http 連結拉取倉庫,則需要這樣寫:

[includeIf "hasconfig:remote.*.url:https://github.com/**"]
	path = ~/.gitconfig.<你希望的名稱>
[includeIf "hasconfig:remote.*.url:https://gitee.com/**"]
	path = ~/.gitconfig_gitee.<你希望的名稱2>

當然也可以同時把這幾條都寫上去。includeIf 不支援條件或之類的語法,只能一條一條寫。

進入到對應remote的程式碼倉庫中,使用以下命令可以確認配置是否生效:

git config user.name # 輸出對應的user則代表成功

注意事項

瞭解過 gitconfig 檔案的語法後,你可能會希望這樣寫:

[includeIf "hasconfig:remote.*.url:git@github.com:**/*"]
    [user]
        name = <your name>
        email = <your email>
        
[includeIf "hasconfig:remote.*.url:*gitee.com**/*"]
    [user]
        name = <your name2>
        email = <your email2>

這是不行的哦,會預設使用最後一個 user。

相關文件

git-scm.com/docs/git-co…

0則評論

您的電子郵件等資訊不會被公開,以下所有項目均必填

OK! You can skip this field.