如果同时在github、gitlab、gerrit等等都有项目都要上传时,我们就要考虑ssh key的配置问题了。
如果时window要安装以下
链接: https://pan.baidu.com/s/1scXn9TyEHU_vIeLJpoO1Jw 提取码: ty5f
1,配置
例如github我们是最常用的,如果不止一个也无所谓,就先将一个设置为全局配置如:
$ git config --global user.name "用户名" $ git config --global user.email "邮箱"
其次其他的设置为局部配置例如gerrit,进入到项目根目录下执行:(其他局部设置都同样操作)
git config user.name "用户名" git config user.email "邮箱"
2,生成公钥
(1)github
ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C"邮箱"
(2)gerrit
ssh-keygen -t rsa -f ~/.ssh/id_rsa.gerrit -C"邮箱"
命令执行完成后,这时~/.ssh目录下会多出id_rsa.github.pub和id_rsa.gerrit.pub文件就是给github和gitlab使用的公钥。
打开查看pub后缀的文件,全选将乱码复制到如下图:


很多网站类同
3,配置config文件
通过touch ~/.ssh/config命令创建config文件,修改文件内容如下:
# # 不鸽项目移到gerrit # Host 134.175.81.207 PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa.gerrit User chenge # # github # Host github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa.github User chen77134056
配置完成以后,github的仓库会使用~/.ssh/id_rsa_github密钥进行验证,gerrit会使用~/.ssh/id_rsa_gerrit密钥进行验证。
4,代码拉取,上传案例
//初始化一个空白仓库 git init //给本地仓库设置一个远程上传、下载地址值是git@xxx.git,赋值到一个变量名为origin,(默认都是origin不推荐乱取名) git remote add origin git@gitee.com:chen77134056/vuelic3.git //通过设置好的远程仓库,下载远程仓库的内容,但是这个命令不会帮我们合并代码 git fetch //将本地分支master与远程仓库分支关联到一起,这样才能git push(推荐本地分支取名和远程分支取名一样) git branch master origin/master //现在切换master分支 git checkout master //下载远程仓库的内容,会把我们自己代码和远程代码合并在一起 git pull