雙帳號輕鬆切換!在同一台電腦上切換多個Github帳號

閱讀時間約 4 分鐘

在進行開發工作時,可能會使用不同的 Git 帳號做登入和推送的情形,例如: 公司的 Git 帳號和個人的帳號,這樣做的好處是為了確保開發工作能清楚劃分,所以需要做切換帳號的動作,特別是在不同的專案間切換 commit 的對象,因此有了這篇文紀錄這個過程。

讓我們一起開始,在同一台電腦切換不同的 Github 帳號

Photo by Roman Synkevych on Unsplash

Photo by Roman Synkevych on Unsplash

產生金鑰

在 terminal 輸入指令,產生新的金鑰

ssh-keygen -t rsa -C "[email protected]"

會跳出這樣的訊息

Enter file in which to save the key (/Users/user/.ssh/id_rsa):

因此輸入我們想存放 key 的位置
/Users/user/.ssh/id_rsa_karen

會再跳出輸入密碼的訊息,可以不加密

Enter passphrase (empty for no passphrase): 
Enter same passphrase again:

檢查金鑰

用這個指令查看目前有哪些金鑰

ssh-add -l


可以看到顯示有 sha256 的資訊以及尾端 email

金鑰代理

要將金鑰加入代理,如果有兩把的話要執行兩次

ssh-add ~/.ssh/id_rsa_karen

修改 Config

編輯 config

cd ~/.ssh/
touch config
open config


編輯內容

#公司帳號
Host github-company
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_company

#私人帳號
Host github-karen
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_karen

Github 貼上金鑰

先複製金鑰內容

pbcopy < ~/.ssh/id_rsa_karen.pub

打開 Github > setting > SSH and GPG keys


raw-image

按下 new key,把剛剛複製的內容貼在這裡,這樣就完成了


raw-image

連線測試

ssh -T github-karen


成功的話會跳出以下的訊息

Hi [Username]! You've successfully ...


設定 user 資訊

git config user.name "karen"
git config user.email "[email protected]"


之後就可以 commit and push 了!

補充

  • 刪除所有金鑰
ssh-add -D
  • 查看現在的 user config
git config -l 
  • 取消 global 的資訊
git config — global — unset user.name  
git config — global — unset user.email
  • 清除憑證緩存中存儲的所有憑證
git credential-cache erase

結論

經過這些步驟,已經可以在一台電腦中,根據專案切換不同的 github 帳號了,這樣也可以讓開發的過程中切的乾淨。

希望這篇文章有幫助到在找切換 github 帳號方法的你,我們下次見!

Update 2023.07.28

如果遇到push 的時候 denied 錯誤的帳號,例如 A/testrepo 但是 push 時不成功,還 denied B,這樣可能表示切換沒有成功。

但檢查 git config 的時候也是正常的。

最後加上


git config credential.username “KarenKaoK

這就會在 config 加上這行,然後就可以推成功!

23會員
28內容數
歡迎來到《桃花源記》專欄。這裡不僅是一個文字的集合,更是一個探索、夢想和自我發現的空間。在這個專欄中,我們將一同走進那些隱藏在日常生活中的"桃花源"——那些讓我們心動、讓我們反思、讓我們找到內心平靜的時刻和地方
留言0
查看全部
發表第一個留言支持創作者!