348 git远程仓库:gitee(码云)与git,git clone,git push,git pull,git remote,SSH免密码登陆及配置
gitee(码云)与git
git与gitee没有直接的关系。
- git是一个版本控制工具。
- 码云 是一个代码托管平台,开源社区,是git的一个远程代码仓库。
//1. gitee是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。
//2. gitee免费,代码所有人都能看到,但是只有你自己能修改。
同事1的操作
同事2的操作
远程仓库和本地仓库不一样,push的时候,会有问题,会影响远程仓库的代码,所以要先pull,跟本地合并,保证两者的代码是一样的,再合并
git clone
-
作用:克隆远程仓库的代码到本地
-
git clone [远程仓库地址]
-
git clone git://gitee.com/jepsongithub/test.git
会在本地新建一个test
文件夹,在test中包含了一个.git
目录,用于保存所有的版本记录,同时test文件中还有最新的代码,你可以直接进行后续的开发和使用。 -
git克隆默认会使用远程仓库的项目名字,也可以自己指定。需要是使用以下命令:
git clone [远程仓库地址] [本地项目名]
git push
-
作用:将本地仓库中代码提交到远程仓库
-
git push 仓库地址 master
:将代码提交到远程仓库 -
例子:
git push git@gitee.com:jepsongithub/test.git master
,如果第一次使用,需要填写gitee的用户名和密码 -
完整语法:
git push <远程主机名> <本地分支名>:<远程分支名>
【<本地分支名>:<远程分支名> ---> 从哪里到哪里。】 -
若远程是空仓库,推算是本地仓库不能为空
git pull
- 作用:将远程的代码下载到本地
通常在push前,需要先pull一次
。- 获取远程仓库的更新,并且与本地的分支进行合并
git clone:复制
全部代码
到本地git pull:从远程仓库更新
变化的部分
到本地
将远程主机的某个分支的更新取回,并与本地指定的分支合并,完整格式可表示为:
$ git pull <远程主机名> <远程分支名>:<本地分支名> 【和push相反,<远程分支名>:<本地分支名> ---> 从哪里到哪里。】
git remote
每次push操作都需要带上远程仓库的地址,非常的麻烦,我们可以给仓库地址设置一个别名。【后面的操作就可以用这个别名代替远程仓库的地址。】
git clone 的仓库默认有一个origin的别名 。【用origin代替它对应的仓库地址即可。】
# 给远程仓库设置一个别名
git remote add 仓库别名 仓库地址
举例:git remote add jepson git@github.com:jepsongithub/test.git
# 删除jepson这个别名
git remote remove jepson
# git clone的仓库默认有一个origin的别名
# 补充
git remote:查看别名
SSH免密码登陆
git支持多种数据传输协议:
- https协议:
https://github.com/jepsongithub/test.git
需要输入用户名和密码 - ssh协议:
git@github.com:jepsongithub/test.git
可以配置免密码登录
每次push或者pull代码,如果使用https协议,那么都需要输入用户名和密码进行身份的确认,非常麻烦。
-
gitee为了账户的安全,需要对每一次push请求都要验证用户的身份,只有合法的用户才可以push
-
使用ssh协议,配置ssh免密码,可以做到免密码往github推送代码
非对称加密
非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。
公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。
因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
非对称加密算法实现机密信息交换的基本过程是:甲方 生成一对密钥,并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的 乙方 使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。
SSH免密码登录配置
注意:这些命令需要在bash中敲
-
- 创建SSH Key:
ssh-keygen -t rsa
- 创建SSH Key:
-
- 在文件路径
C:\用户\当前用户名\
找到.ssh
文件夹
- 在文件路径
-
- 文件夹中有两个文件:
- 私钥:
id_rsa
-
公钥:
id_rsa.pub
-
- 在
gitee -> 设置-> SSH 公钥
页面中,新创建SSH key
- 在
-
- 粘贴 公钥
id_rsa.pub
内容到对应文本框中
- 粘贴 公钥
-
- 在github中新建仓库或者使用现在仓库,拿到
git@github.com:用户名/仓库名.git
- 在github中新建仓库或者使用现在仓库,拿到
-
- 此后,再次SSH方式与github“通信”,不用输入密码确认身份了
ssh-keygen -t rsa 运行后 每台电脑都会生成自己的公钥和私钥