如何使用git通过ssh协议拉取gitee上的项目代码——如何正确的免密使用git

如何在gitee网站上生成/添加SSH公钥见教程:

生成/添加SSH公钥

 

 

 

 

测试公私秘钥是否成功:

ssh -T git@gitee.com

 

 

 

 

 

======================================

 

 

 

假设此时我们已经在网站上配置好公钥,本地也已经保存好私钥,那么我们如何拉取gitee上的代码呢?

很多人忽略这个问题,其实这个问题也不小,不少人没有使用ssh协议拉取代码之前都是使用http来拉取gitee上的代码的,但是想要免密拉取和推送代码到gitee上不久需要公私秘钥的配置同时也需要在本地首次拉取代码仓库时使用正确的方式。

 

首次拉取代码仓库的方法有两个,一个是通过http协议,一个是通过ssh协议,假设此时公私秘钥已经配置成功,假设此时要拉取的项目地址为:https://gitee.com/devilmaycry812839668/scalable_agent

 

1. 使用http协议首次拉取

git clone https://gitee.com/devilmaycry812839668/scalable_agent

 

 

 

 

采用这种方式首次拉取代码后如果提交修改到远端发现依然需要账户和密码:

 

 

 

这其实是我们在首次拉取时使用http协议导致本地代码库中对推送和拉取协议默认设置为http协议,对此我们可以使用 git remove -v 命令来查看一下:

 

 

 

 

为此我们可以手动修改和远端的通讯协议,将http协议改为ssh协议:

git remote set-url origin git@gitee.com:devilmaycry812839668/scalable_agent.git

其中,git remote set-url origin git@gitee.com:    是不固定的,可以根据具体的用户和项目名设置后面部分,即这里的  devilmaycry812839668/scalable_agent.git 部分。

 

 

 

这样修改后我们就可以进行免密交互了:

 

 

 

 

 

 

 

 

2. 使用ssh协议首次拉取

对于项目:https://gitee.com/devilmaycry812839668/scalable_agent

具体ssh协议的拉取为:

git clone git@gitee.com:devilmaycry812839668/scalable_agent.git

 

 

采用ssh协议首次拉取代码我们再与远端交互时自然就使用ssh协议了,也就自然是免密的了,为此我们可以查看下此时与远端的交互协议:

 

 

 

 

 

====================================================

 

posted on 2022-10-23 23:02  Angry_Panda  阅读(1888)  评论(0编辑  收藏  举报

导航