ssh的金鑰管理主要包括兩個方面:生成公鑰/私鑰對以及公鑰(私鑰自己保密)的分發。多個github倉庫和多個github帳號需要生成多個金鑰對。
假設有使用者user_one 下的倉庫one,位址為git@github:user_one/one.git
使用者user_two 下的倉庫two,位址為git@github:user_two/two.git
1.全域性配置
git config --global user.name "your_name"
git config --global user.email "your_email"
2.生成金鑰對
執行命令 ssh-keygen -t rsa -c email 建立github對應的sshkey,命名為id_rsa_one
ssh-keygen
-t rsa -c
"your_email"
將上述**再執行一遍,建立第二個sshkey,命名為id_rsa_two
建立好之後將id_rsa_one.pub和id_rsa_two.pub分別上傳到對應伺服器上。
3.轉殖專案到本地
git clone git@github
:user_one/one.git
git clone git@github
:user_two/two.git
4.**提交
切換到one的倉庫,在執行push之前,執行以下命令:
ssh-agent bash
ssh-add ~/.ssh/id_rsa_one
然後執行push就可以成功提交了,切換到倉庫two也是同理。
以上方法有個問題就是,每次重啟電腦之後,需要重新執行以上兩行**才能正常提交。這裡我們需要加個config配置。
解決方案
1.在~/.ssh目錄下建立config檔案,進行相應配置:
#第乙個git專案賬號
host github
hostname github.com
user user_one
identityfile ~/.ssh/id_rsa_one
#第二個git專案賬號
host github
hostname github.com
user user_two
identityfile ~/.ssh/id_rsa_two
2.檢出服務端專案**,這裡需要注意,使用.ssh目錄下的host代替真實的hostname,這樣才能讓git識別出來
git remote add user_one git@user_one:one/project.git
3.push的時候,push到對應的host即可
one專案中: git push user_one master
git多倉庫管理
使用git建立多倉庫管理 以下操作為命令列下操作 一 先建立伺服器端口,總倉庫和子倉庫 ssh git 192.168.1.110 連線git伺服器 輸入密碼 mkdir iosproject 建立專案總目錄,命名為 iosproject cd iosproject 進入建立的目錄 git init...
git配置多倉庫
github gitee coding gitlab gitlab.company 真tm多 真tm多 真tm多 生成ssh 金鑰對 這個按自己公司規則生成 或者按對應平台指導生成 這裡貼上 gitee的指導。碼雲幫助中心 生成 新增ssh公鑰 不同的平台,生成的金鑰名稱配置不同的。這裡貼上 git...
多git帳號的SSH key切換
1.同一臺電腦可以有2個git賬號 不同 的 首先不同 當然可以使用同乙個郵箱,比如我的 github,gitlab,bitbucket的賬號都是gotodiscuss at gmail.com 這時候不用擔心金鑰的問題,因為這些 push pull 認證的唯一性的是郵箱 比如我的windows 上...