多用戶下GIT使用SSH管理配置

Window 中git的配置目錄 Git\etc\ssh\ssh_config git

git進行項目管控,其實有不少優勢,此次要使用svn建立分支的時候,居然是直接把trunk給拷貝一份,而git是本來就支持分支的功能。有時候吧,你要是有多個的項目,並且每一個項目上git的用戶名,郵箱等,都不同,那麼有兩種方法,一是使用https的方式,可是這個方式的話,基本每次push的時候,都要輸入密碼,太麻煩了。因此仍是比較喜歡直接使用ssh的方式,本地託管個ssh的密鑰。既不要輸入密碼,也方便配置。 github

首先,須要使用不一樣的用戶名的話,那麼就須要git不要使用有–global的配置。諸如此類的 ubuntu

1
git config -- global user . name "username"

這樣配置的話,會在~/.gitconfig寫入你當前ubuntu用戶的全局配置。若是你都是同一個用戶名及email那固然是方便的。可是若是你的git有多個的用戶名及email的時候。最好是使用諸如此類的命令。 ssh

1
git config -- local user . name "username"

這樣的話,只是在當前的git項目中配置,其實這個配置就是在當前項目的頂級目錄的.git/config寫入用戶名而已。 svn

若是使用了ssh方式進行配置的話,多個的用戶則須要添加~/.ssh/config配置,默認狀況下,是沒有該文件的。好比我這邊的~/.ssh/config配置以下: 學習

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Host github . com
     HostName github . com
     User user1
     PreferredAuthentications publickey
     IdentityFile ~ / . ssh / id_rsa . user1
 
Host github . com
     HostName github . com
     User user2
     PreferredAuthentications publickey
     IdentityFile ~ / . ssh / id_rsa . user2
 
Host jd . com
     HostName jd . com
     User user3
     PreferredAuthentications publickey
     IdentityFile ~ / . ssh / id_rsa . user3

這樣配置,也就是使用hostname爲github.com而且會根據用戶名的不一樣,去使用不用的private key。這樣就不會像https方式push的時候須要輸入密碼。很方便很快捷,基本是一勞永逸了。github上,也能夠添加對應的公鑰。其實這個配置是關於ssh的與git並無多大關係,只是git使用的方式是ssh的方式。其實ssh還有不少種的配置方式。在ubuntu下,可使用man命令查看幫助。 spa

1
man 1 ssh

裏面就有關於~/.ssh/config的說明。其可配置的參數還有不少。我也在學習中。:-) it

相關文章
相關標籤/搜索