win git 不同賬號和倉庫配置


Windows下配置多個Git賬號

 

1. 為什么會用多個git賬號?

  • 不同git賬號對應不同代碼托管平台,如:github、bitbucket、gitlab、gitee(碼雲)等
  • 2個GitHub賬號,用於測試(最近需求,之前沒研究過github協同開發,所以注冊了個小號來測試)

2. 不同git賬號對應不同代碼托管平台,以github和bitbucket為例

1)假設你已經生成了不同的 sshkey,其中針對不同的平台可以命名如下:

  • github:id_github_rsa
  • bibucket:id_bitbucket_rsa
  • 注意:為了管理方便,把id_github_rsa、id_github_rsa.pub 和 id_bitbucket_rsa、id_bitbucket_rsa.pub都移到同一目錄下

2)我的移動到 /c/Users/xxx/.ssh/目錄下,在該目錄下手動創建文件“config”(無后綴名),編輯config文件,如下:

復制代碼
# github account [github_user]
Host github.com
HostName github.com
User github_user
IdentityFile /c/Users/xxx/.ssh/id_github_rsa
IdentitiesOnly yes

# bitbucket account [bct_user]
Host bitbucket.org
HostName bitbucket.org
User btc_user
IdentityFile /c/Users/xxx/.ssh/id_bitbucket_rsa
IdentitiesOnly yes
復制代碼

3)通過上述配置后,你就可以使用多個git賬號操作對應的代碼托管平台(假設你使用同一個email注冊不同的平台,否則的話,需要取消全局email和username設置,並且在使用前通過git config命令切換賬號,具體請看 3. 同一個平台GitHub下的不同git賬號)

3. 同一個平台(GitHub為例)下的不同git賬號

1)config 配置如下:

復制代碼
# github account [user1]
Host github.com
HostName github.com
User user1
IdentityFile /c/Users/xxx/.ssh/id_user1_rsa
IdentitiesOnly yes

# github account [user2]
Host github.com
HostName github.com
User user2
IdentityFile /c/Users/xxx/.ssh/id_user2_rsa
IdentitiesOnly yes
復制代碼

2)在使用時需要注意,不能設置全局的 username 和 email

# 取消全局 username, email
>git config --global --unset user.name
>git config --global --unset user.email

3)如要在repo中使用 user1 進行操作,進入repo目錄后,先設置username 和 email,再進行其他操作

>git config user.name "user1"
>git config user.email "user1登陸GitHub的email"
# 同樣的,如果想在repo中切換為 user2 進行操作,則重新設置username和email(同上)后,再進行其他操作

4. 可能遇到的問題

1)git push:remote: Permission to XXXA/xxxx.git denied to XXXB

原因:

  • 之前為了測試GitHub的一些機制,我在同一個電腦上配置了兩個GitHub賬號:southday | lcxv
  • 最近在向southday賬號下的項目push代碼時,出現:remote: Permission to XXXA/xxxx.git denied to lcxv
  • 這是由於電腦使用git bash配過SSH,系統已經將指向github.com的用戶設置為了lcxv,每次push操作的時候,默認讀取保存在本地的用戶lcxv

解決方法:

  • 解決這個問題最簡單的辦法是刪除本機中GitHub的lcxv登陸session
  • 重新提交的時候,git會要求你輸入新的用戶名和密碼,輸入后就可以成功提交了

5. 參考內容

轉載自southday的博客


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM