這兩天遇到一個開發者提出的問題,在他的開發環境是 Ternminal / SourceTree 的狀況下要如何處理多個 Git key 的問題
Git 預設會去抓 ~/.ssh/id_rsa 當作 key,但如果你有兩個以上的 repository Server Key 就無法這樣處理了
ssh 有提供一個 config 的解決方法,可以建立 ~/.ssh/config
Host gitrepo1 HostName 192.168.10.1 Port 22 User git IdentityFile /Users/scott/.ssh/key/gitrepo1_id_rsa Host gitrepo2 HostName 192.168.10.2 Port 22 User git IdentityFile /Users/scott/.ssh/key/gitrepo2_id_rsa
gitrepo1_id_rsa , gitrepo2_id_rsa 是你的 key
這樣你在操作 git 的時候就可以用 gitrepo1 , gitrepo2 的方式來連接
$ git clone git@gitrepo1:/git/repo
PS: NetBeans 你可以針對 repository site 指定 key file,不過這篇的問題不在此限