如果你對這個真的很陌生,建議看影片:smile:
有時候我們可能會遇到這種情境,就是同一台電腦上同時需要有多個 github 帳號,為什麼呢?
當你工作的電腦和你自己的 side project 開發都在同一台電腦的時候,你就需要這篇文章的幫忙
了 😙
相信我,你不會希望用公司的帳號推 commit 到自己的 side project 上:sweat_smile:
第一步,先產生 ssh key,如果你不知道怎麼產生,
可參考 Generating a new SSH key 或是 github基本教學 - 從無到有,
打開你的 Git Bash,
ssh-keygen -t rsa -b 4096 -C "[email protected]"
( 請將信箱換成自己的 )
這裡的重點是記得自行輸入新的 rsa 名稱,像是下圖的 /c/Users/twtrubiks/.ssh/id_rsa_rubik
這樣,
這樣才不會覆蓋舊有的 rsa,
接下來,你的 .ssh
路徑底下會多出你剛剛建立的檔案
再把你的 id_rsa_rubik.pub
key 貼到你的 gihub 上,
通常你新增成功的時候,信箱會收到一封信。
再輸入下方指令
ssh-agent -s
上面這個指令一定要執行,如果跳過這個步驟,就會出現以下錯誤,
Could not open a connection to your authentication agent.
所以請記得一定要執行。
在 .ssh
目錄底下建立一個名稱為 config
的檔案 ( 檔名就是 config
,副檔名不用填 ),
下方是一個範例,
# github - twtrubiks
Host github.com
HostName github.com
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes
User twtrubiks
# github - blue-rubiks
Host blue.github.com
HostName github.com
IdentityFile ~/.ssh/id_rsa_rubik
IdentitiesOnly yes
User blue-rubiks
可用以下指令測試,如果顯示出自己的使用者名稱,代表設定成功
ssh -T git@github.com
ssh -T git@blue.github.com
ya 😍 我們設定成功惹~
如果有問題,也可以用 debug 模式看問題出在哪裡,通常是 config
輸入有誤
ssh -vT git@github.com
接下來先和大家說明一下,
git config --global user.name "blue-rubiks"
git config --global user.email "[email protected]"
--global
顧名思義就是全域的意思,如果沒輸入,就代表是目錄底下的 repo 會生效,
現在我們 clone 一個 repo 來玩玩看 (你可以自己建立一個)
git clone git@github.com:blue-rubiks/github-ssh-test.git
接著,切換到目錄資料夾底下,輸入以下指令
git config user.name "blue-rubiks"
git config user.email "[email protected]"
注意,這邊沒加上 --global
,所以只有該目錄底下的 repo 會生效,
我們找到 repo 中的 .git
資料夾 , 再找到 config
檔案,內容大致如下
主要就是修改第 9 行成第 10 行,修改為你設定的 Host
,
最後,可以安心 commit 以及 push 了。
如果你真的聽不懂我在說什麼,建議看影片說明,我會帶大家操作一波 😆
- Win 10
文章都是我自己研究內化後原創,如果有幫助到您,也想鼓勵我的話,歡迎請我喝一杯咖啡:laughing:
MIT licens