为不同git网站配置不同ssh key

版权声明:本文为purehol原创文章,转载请注明来源。 https://blog.csdn.net/qq_41068347/article/details/80410570

一个ssh可以对应不同git网站(比如github与gitee),并且用户名也可以用同一个, 只不过有些人为了区分公司项目与个人项目而用了不同的标识。


1、git安装完就可以生成本地ssh密钥了:

ssh-keygen -t rsa
不要一路回车,提示输入生成路径跟文件名字的时候,自定义一下。

我因为需要两个密钥对, 所以就生成两次, 分别用于两个网站(说明:同一个密钥对是可以用于两个网站的)。
然后把他们放到同一个文件夹,我放在了.ssh文件夹。


2、在.ssh目录下用 touch config 命令来在该文件夹下生成config文件,编辑该文件:

# 配置github.com
Host github.com
    HostName github.com
    IdentityFile C:\\Users\\purehol\\.ssh\\rsa_github
    PreferredAuthentications publickey
    User purehol
	
# 配置gitee.com
Host gitee.com
    HostName gitee.com
    IdentityFile C:\\Users\\purehol\\.ssh\\rsa_gitee
    PreferredAuthentications publickey
    User purehol
其中:
(1)Host的名字可以取为自己喜欢的名字,不过这个会影响git相关命令,例如:
Host abc这样定义的话,命令如下,即git@后面紧跟的名字改为abc
git clone git@abc:purehol/demo.git
(2)HostName           这个是真实的域名地址
(3)IdentityFile          这里是id_rsa的路径
(4)PreferredAuthentications   配置登录时用什么权限认证--可设为publickey,password publickey,keyboard-interactive等
(5)User            配置使用用户名


3、分别在自己的git网站添加ssh公钥(我的话就在自己的github跟gitee账号添加ssh公钥),然后分别测试一下:

ssh -T git@github.com
ssh -T git@gitee.com

4、接下来就是对项目的远程提交了
进入要提交的目录,然后"git init"初始化,
"git add ." 来添加所有到暂存区(.gitnore文件忽略的除外),
"git commit -m "first commit" " 来正式更改,这个时候会提示没有身份信息,这个时候有两种方式来添加自己的身份信息: 
(1)全局身份信息,以后所有git都可以用此账户
git config --global user.name "purehol"
git config --global user.email "purehol@purehol.com"
(2)局部身份信息,每提交一个 repositories都要在项目内设置
git config user.name "purehol"
git config user.email "purehol@purehol.com"

另外,查看git账户和邮箱使用:

git config user.name //回车后就显示用户名
git config user.email //回车后显示邮箱

修改邮箱和用户名:

git config --global user.name "username"
git config --global user.email "email"


5、开始push到远程

git remote add gitee git@gitee.com:purehol/NDKCameraGray.git //gitee这个可以改,尤其适用于多个远程项目的时候, 给每个设置不同的名字
git push -u gitee master //-u命令仅用于第一次提交
假如 git remote 之后 git push 之前我们想更改提交:
git remote -v //查看远程库信息
git remote rm gitee //删除名为gitee的待提交项目


常见error:
使用 "git push -u gitee master" 来初次提交的时候, 假如云端有README.md文件, 但是本地没有就会失败, 并且要求分支也一样。

展开阅读全文

没有更多推荐了,返回首页