如何配置多個git賬號/多個遠程倉庫

如何配置多個git賬號/多個遠程倉庫

配置多個遠程倉庫

背景:公司搭建了GitLab,配置本地git後是可以正常提交的。這時候你要修改你GitHub上的某個項目,那怎麼能跟你的GitHub項目建立連接呢?

Ps:根據記憶整理,如遇到agent報錯,先走Git多用戶密碼管理,然後再回來繼續

  • 首先在你的用戶目錄下找到.ssh文件夾,創建config文件

Host 10.0.0.4HostName 10.0.0.4User gitPort 22IdentityFile ~/.ssh/id_rsaHost github.comHostName github.comUser gitPreferredAuthentications publickeyIdentityFile ~/.ssh/id_rsa_github

IdentityFile 密鑰的路徑,可以自己命名,規則是id_rsa_***

PubkeyAuthentication 密碼驗證

這樣應該就很明白了,根據host去讀取你的認證(密鑰)文件;

  • 然後生成GitHub的密鑰

ssh-keygen -t rsa -C wsj***@aliyun.com -f id_rsa_github

這裡的id_rsa_github是你在config里寫的密鑰文件路徑

然後把你生成的 id_rsa_github.pub 公鑰複製到GitHub ssh里就好了

接下來你就會了

git clone your addresscd your addressgit add .git commit -m 初始化git push -u origin master

一切都是那麼順利

Git多用戶密碼管理

如果你想每次提交代碼都輸入密碼,return;否則

在你的用戶文件夾新建.profile(即.ssh上一級文件夾);

如果您使用的是與GitHub Desktop一起安裝的Git Shell,則無需執行這些步驟。 GitHub Desktop會自動為您啟動ssh-agent。

window不能建.開頭的文件所以用命令吧

touch .profile

然後粘貼這一段

env=~/.ssh/agent.envagent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }agent_start () { (umask 077; ssh-agent >| "$env") . "$env" >| /dev/null ; }agent_load_env# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not runningagent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then agent_start ssh-add ~/.ssh/id_rsa ssh-add ~/.ssh/id_rsa_githubelif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then ssh-add ~/.ssh/id_rsa ssh-add ~/.ssh/id_rsa_githubfiunset env

以上這段代碼摘自Github官方,更詳細的去官方看:

Working with SSH key passphrases?

help.github.com

記得修改你ssh的文件名

推薦閱讀:

如何回滾一次錯誤的合併?
微軟豪擲75億美元迎娶冤家Github!空氣幣自此無處遁形?
git 1
git安裝及使用-快速教程
log日誌

TAG:計算機科學 | Git | 前端開發 |