Windows下配置多個Git賬號
阿新 • • 發佈:2018-11-24
1. 為什麼會用多個git賬號?
- 不同git賬號對應不同程式碼託管平臺,如:github、bitbucket、gitlab、gitee(碼雲)等
- 2個GitHub賬號,用於測試(最近需求,之前沒研究過github協同開發,所以註冊了個小號來測試)
2. 不同git賬號對應不同程式碼託管平臺,以github和bitbucket為例
- github:https://github.com/,你在github使用的賬號使用者名稱為:github_user
- bitbucket:https://bitbucket.org/,你在bitbucket使用的賬號使用者名稱為:bct_user
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_userIdentityFile /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. 參考內容
轉載請說明出處!have a good time :D