? ? Git是分布式代碼管理工具,使用命令行的方式提交commit、revert回滾代碼。這里介紹使用Git bash軟件來切換Gitee、GitHub賬號。
? ? 假設在gitee.com上的郵箱是alice@foxmail.com 、用戶名為alice;在github上的郵箱是bob@foxmail.com、用戶名為bob。
賬號 | 名稱 | 郵箱 | 網站 |
---|---|---|---|
1 | alice | alice@foxmail.com | http://gitee.com |
2 | bob | bob@foxmail.com | http://github.com |
1 安裝Git軟件
? ? 官網地址: https://git-scm.com/downloads
? ? 一路默認,直達安裝完成。
2 通過郵箱生成公私鑰
? ? 使用管理員身份打開Git bash軟件,然后根據郵箱來生成rsa公鑰、私鑰文件,命令如下:

? ? 通過ssh-keygen命令,來生成郵箱對應的公鑰、私鑰文件:
## 1) 生成alice在gitee.com上的公私鑰文件
ssh-keygen -t rsa -f ~/.ssh/id_rsa_gitee -C "alice@foxmail.com" ## 2)生成bob在github.com上的公私鑰文件
ssh-keygen -t rsa -f ~/.ssh/id_rsa_github -C "bob@foxmail.com"
? ? 在C:\用戶\XXX.ssh里,可以看到有4個文件,如圖(2) 所示:
序號 | 文件名 | 含義 | 所屬賬號 |
---|---|---|---|
1 | id_rsa_gitee | alice的私鑰文件 | alice@foxmail.com |
2 | id_rsa_gitee.pub | alice的公鑰文件 | alice@foxmail.com |
3 | id_rsa_github | bob的私鑰文件 | bob@foxmail.com |
4 | id_rsa_github.pub | bob的公鑰文件 | bob@foxmail.com |

3 將公鑰設置到網站的SSH框框里
3.1 設置alice在gitee里的SSH公鑰
? ? 在gitee的賬號 --》設置 --》安全設置 --》SSH公鑰 --》拷貝id_rsa_gitee.pub文件里的信息到公鑰輸入框,然后點擊【確定】即可,如圖(5)所示。
https://gitee.com/profile/sshkeys

3.2 設置bob在github里的SSH公鑰
? ? 在github的賬號 --》Setting --》SSH and GPG Keys --》SSH公鑰 --》New SSH --》拷貝id_rsa_github.pub文件里的信息到公鑰輸入框,然后點擊【確定】即可,如圖(4)、圖(5)所示。
https://github.com/settings/keys


4 在Git Bash里激活公鑰,并授權
? ? 在Git Bash黑框框里,激活公鑰,并授權訪問gitee或github。
4.1 激活并授權gitee賬號
? ? 授權命令(或測試命令)、激活命令gitee,如圖(6)所示:
## 1) 激活公鑰
ssh -T git@gitee.com -i ~/.ssh/id_rsa_gitee
## 2)授權
yes

4.2 激活并授權github賬號
? ? 授權命令(或測試命令)、激活命令github,如圖(7)所示:
## 1) 激活公鑰
ssh -T git@github.com -i ~/.ssh/id_rsa_github
## 2) 授權
yes

5 將私鑰文件添加到git
5.1 將gitee的私鑰文件添加到git
? ? gitee的私鑰文件是id_rsa_gitee,通過ssh-add添加到git的命令如下:
## 添加到git
ssh-add ~/.ssh/id_rsa_gitee
5.2 將github的公鑰文件添加到git
? ? github的私鑰文件是id_rsa_github,通過ssh-add添加到git的命令如下:
## 添加到git
ssh-add ~/.ssh/id_rsa_github
6 配置config文件
? ? config文件,一般保存在~/.ssh/目錄里,用于切換多個gitee、github賬號。
6.1 創建config文件
## 創建config文件
touch ~/.ssh/config
6.2 填寫要切換的賬號和網站
Host useEE
HostName gitee.com
IdentityFile C:\\Users\\25014\\.ssh\\id_rsa_gitee
PreferredAuthentications publickey
User useEEHost useHub
HostName github.com
IdentityFile C:\\Users\\25014\\.ssh\\id_rsa_github
PreferredAuthentications publickey
User useHub
? ? 其中,useEE對應alice, useHub對應bob。
7 拉取工程
7.1 拉取gitee上的timer工程
? ? 假設原來的timer工程地址為:git@gitee.com:alice/timer.git,Git軟件則通過~/.ssh/config文件重新設置名稱之后,其有效的地址如下:
git@useHub:alice/timer.git
則拉取timer工程的命令:
git clone git@gitee.com:alice/timer.git
等價改成,如下:
git clone git@useEE:alice/timer.git
7.2 拉取github上的timer工程
? ? 同理,假設原來的timer工程地址為:git@github.com:bob/timer.git,則通過config重新設置名稱之后,其有效的地址如下:
git@useHub:bob/timer.git
則拉取timer工程的命令:
git clone git@github.com:bob/timer.git
等價改成,如下:
git clone git@useHub:bob/timer.git