purehol

一个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文件, 但是本地没有就会失败, 并且要求分支也一样。

 

分类:

技术点:

相关文章: