如何在一臺主機上管理本身的多個git repository

在使用git時,一般是直接ssh-keygen生成默認祕鑰.而後將共鑰添加到遠程倉庫,就能夠訪問了.git

可是,當咱們有多個repository時,這種方式就不適用了,由於一個祕鑰只能關聯一個遠程倉庫.github

若是想同時管理多個repository,這時就須要生成多個祕鑰,而後配置祕鑰和遠程倉庫的關聯.ssh

步驟1.生成指定倉庫的祕鑰

1. ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
2. Enter a file in which to save the key (/home/you/.ssh/id_rsa): new_repository 這裏再也不使用默認,而是須要指定ssh key的名字,用來和指定倉庫關聯
3. 最後輸入密碼時,通常直接回車便可.

步驟2.爲指定倉庫設置祕鑰配置

1. 進入用戶目錄的.ssh文件夾中  cd ~/.ssh
2. 建立ssh配置文件,文件名爲config touch config
3. 進入config配置
#默認配置
Host github.com HostName github.com User git IdentityFile
~/.ssh/id_rsa
#新倉庫指定配置 Host new_repository.github.com HostName github.com User git IdentityFile
~/.ssh/new_repository

步驟3.使用配置的鏈接別名添加遠程倉庫

上面的兩個配置中,值得注意的是Host不一樣,第二的Host添加指定前綴(通常爲repository的名字)測試

添加前綴後,咱們爲本地repository添加遠程鏈接時就不是spa

git remote add origin git@github.com:user/repository.git
而變成了
git remote add origin git@xxx.github.com:user/repository.git

此配置就是爲指定倉庫添加別名,好爲不一樣倉庫指定不一樣的祕鑰文件

步驟4. 在遠程倉庫添加deploy_key

1. 首先進入.ssh文件,複製new_repository.pub內容code

2. 進入repository settings,在以下頁面點擊add deploy key 粘貼new_repository.pubblog

步驟5.測試鏈接

git init
git add README.md
git commit -m "first commit"
git push -u origin master
相關文章
相關標籤/搜索