赞
踩
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 |
官网地址: https://git-scm.com/downloads
一路默认,直到安装完成。
使用管理员身份打开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 |
在gitee的账号 --》设置 --》安全设置 --》SSH公钥 --》拷贝id_rsa_gitee.pub文件里的信息到公钥输入框,然后点击【确定】即可,如图(5)所示。
https://gitee.com/profile/sshkeys
在github的账号 --》Setting --》SSH and GPG Keys --》SSH公钥 --》New SSH --》拷贝id_rsa_github.pub文件里的信息到公钥输入框,然后点击【确定】即可,如图(4)、图(5)所示。
https://github.com/settings/keys
在Git Bash黑框框里,激活公钥,并授权访问gitee或github。
激活命令(或测试命令)、授权命令gitee,如图(6)所示:
## 1) 激活公钥
ssh -T git@gitee.com -i ~/.ssh/id_rsa_gitee
## 2)授权
yes
激活命令(或测试命令)、授权命令github,如图(7)所示:
## 1) 激活公钥
ssh -T git@github.com -i ~/.ssh/id_rsa_github
## 2) 授权
yes
gitee的私钥文件是id_rsa_gitee,通过ssh-add添加到git的命令如下:
## 添加到git
ssh-add ~/.ssh/id_rsa_gitee
github的私钥文件是id_rsa_github,通过ssh-add添加到git的命令如下:
## 添加到git
ssh-add ~/.ssh/id_rsa_github
config文件,一般保存在~/.ssh/目录里,用于切换多个gitee、github账号。
## 创建config文件
touch ~/.ssh/config
文件~/.ssh/config的内容如下:
Host useEE
HostName gitee.com
IdentityFile C:\\Users\\25014\\.ssh\\id_rsa_gitee
PreferredAuthentications publickey
User useEE
Host useHub
HostName github.com
IdentityFile C:\\Users\\25014\\.ssh\\id_rsa_github
PreferredAuthentications publickey
User useHub
其中,useEE对应alice, useHub对应bob。
假设原来的timer工程地址为:git@gitee.com:alice/timer.git,Git软件则通过~/.ssh/config文件重新设置名称之后,其有效的地址如下:
git@useEE:alice/timer.git
则拉取timer工程的命令:
git clone git@gitee.com:alice/timer.git
等价改成,如下:
git clone git@useEE:alice/timer.git
同理,假设原来的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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。