秘钥协议 免密登录
git支持多种数据传输协议:
- https协议:
https://gitee.com/test.git
需要输入用户名和密码 - ssh协议:
[email protected]:/test.git
可以配置免密码登录
每次push或者pull代码,如果使用https协议,那么都需要输入用户名和密码进行身份的确认,非常麻烦。
- github为了账户的安全,需要对每一次push请求都要验证用户的身份,只有合法的用户才可以push
- 使用ssh协议,配置ssh免密码,可以做到免密码往github推送代码
SSH免密码登录配置
- 1 创建SSH Key:
ssh-keygen -t rsa
(注意:这些命令需要在bash中敲) - 2 在文件路径
C:\用户\当前用户名\
找到.ssh
文件夹 - 3 文件夹中有两个文件:- 私钥:
id_rsa
- 公钥:id_rsa.pub
- 4 在
码云-> 设置 -> SSH公钥
页面中 - 5 粘贴 公钥
id_rsa.pub
内容到对应文本框中, 添加公钥
如果找不到ssh(需要自己创建ssh) 输入下面的命令,敲三次回车
ssh-keygen -t rsa -C '[email protected]'
git push
- 作用:将本地仓库中代码提交到远程仓库
git push 仓库地址 分支名
将代码提交到远程仓库对应分支- 例子:
git push [email protected]:/test.git master
git push <远程主机名> <本地分支名>:<远程分支名>
如果本地分支名与远程分支名相同,则可以省略冒号
git push [email protected]:ai1/ceshi1.git master:reg
修改新的文件时,必须先把这个文件先add,再commit,然后再push
git remote
每次push操作都需要带上远程仓库的地址,非常的麻烦,我们可以给仓库地址设置一个别名
# 给远程仓库设置一个别名
git remote add 仓库别名 仓库地址
git remote add origin [email protected]:jepsonpp/test.git
# 删除origin这个别名
git remote remove origin
演示命令:
git push -u 仓库别名 分支名
git可视化工具 sublime Merge
git clone
- 作用:克隆远程仓库的代码到本地
- git clone [远程仓库地址]
git clone [email protected]:jepsonpp/test.git
会在本地新建一个test
文件夹- 在test中包含了一个
.git
目录,用于保存所有的版本记录,同时test文件中还有最新的代码,可以进行后续的开发。 - git克隆默认会使用远程仓库的项目名字,也可以自己指定。命令:
git clone [远程仓库地址] [本地项目名]
tips:
git branch -a
查看分支
git pull
作用:拉取更新,将远程的代码下载合并到本地的分支
通常在push前,需要先pull一次。
# 获取远程仓库的更新,并且与本地的分支进行合并
git pull
git pull <远程主机名> <分支名>
git pull origin login # 获取远程分支的更新,并更新合并到login分支
此时就能将远端更新的也下载到克隆的文件夹里,因为克隆的文件夹里,克隆的是master分支里的
下载远端分支本地
checkout
的
-t
(或)
--track
)选项仅在创建新的(本地)分支时使用
先在本地建立一个分支,并切换到该分支,然后从远程分支上同步代码到该分支上,并建立关联
git checkout -t origin/develop #远端分支名和本地新建分支名同名
后续拉取该分支的更新,就是切换到该分支,git pull origin 分支名
版权归原作者 -Aiiiiiiii 所有, 如有侵权,请联系我们删除。