披萨是你的吗 發表於 2022-10-23 23:02:00

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

<p><span style="font-size: 18px">如何在gitee网站上生成/添加SSH公钥见教程:</span></p>
<h2 class="article-title">生成/添加SSH公钥</h2>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">测试公私秘钥是否成功:</span></p>
<p><span style="font-size: 18px">ssh -T git@gitee.com</span></p>
<p>&nbsp;</p>
<p><span style="font-size: 18px"><img src="https://img2022.cnblogs.com/blog/1088037/202210/1088037-20221023224643164-1663870842.png" alt="" loading="lazy"></span></p>
<p>&nbsp;</p>
<p><span style="font-size: 18px"></span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">======================================</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">假设此时我们已经在网站上配置好公钥,本地也已经保存好私钥,那么我们如何拉取gitee上的代码呢?</span></p>
<p><span style="font-size: 18px">很多人忽略这个问题,其实这个问题也不小,不少人没有使用ssh协议拉取代码之前都是使用http来拉取gitee上的代码的,但是想要免密拉取和推送代码到gitee上不久需要公私秘钥的配置同时也需要在本地首次拉取代码仓库时使用正确的方式。</span></p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">首次拉取代码仓库的方法有两个,一个是通过http协议,一个是通过ssh协议,假设此时公私秘钥已经配置成功,假设此时要拉取的项目地址为:https://gitee.com/devilmaycry812839668/scalable_agent</span></p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">1. 使用http协议首次拉取</span></p>
<p><span style="font-size: 18px">git clone https://gitee.com/devilmaycry812839668/scalable_agent</span></p>
<p>&nbsp;</p>
<p><span style="font-size: 18px"><img src="https://img2022.cnblogs.com/blog/1088037/202210/1088037-20221023225052060-846767953.png" alt="" loading="lazy"></span></p>
<p>&nbsp;</p>
<p><span style="font-size: 18px"></span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">采用这种方式首次拉取代码后如果提交修改到远端发现依然需要账户和密码:</span></p>
<p><img src="https://img2022.cnblogs.com/blog/1088037/202210/1088037-20221023225241252-1674609161.png" alt="" loading="lazy"></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">这其实是我们在首次拉取时使用http协议导致本地代码库中对推送和拉取协议默认设置为http协议,对此我们可以使用 git remove -v 命令来查看一下:</span></p>
<p><img src="https://img2022.cnblogs.com/blog/1088037/202210/1088037-20221023225435421-984874194.png" alt="" loading="lazy"></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">为此我们可以手动修改和远端的通讯协议,将http协议改为ssh协议:</span></p>
<p><span style="font-size: 18px">git remote set-url origin git@gitee.com:devilmaycry812839668/scalable_agent.git</span></p>
<p><span style="font-size: 18px">其中,git remote set-url origin git@gitee.com:&nbsp;&nbsp;&nbsp; 是不固定的,可以根据具体的用户和项目名设置后面部分,即这里的&nbsp; devilmaycry812839668/scalable_agent.git 部分。</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">这样修改后我们就可以进行免密交互了:</span></p>
<p><img src="https://img2022.cnblogs.com/blog/1088037/202210/1088037-20221023225827693-1557862818.png" alt="" loading="lazy"></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">2. 使用ssh协议首次拉取</span></p>
<p><span style="font-size: 18px">对于项目:https://gitee.com/devilmaycry812839668/scalable_agent </span></p>
<p><span style="font-size: 18px">具体ssh协议的拉取为:</span></p>
<p><span style="font-size: 18px">git clone git@gitee.com:devilmaycry812839668/scalable_agent.git</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 18px">采用ssh协议首次拉取代码我们再与远端交互时自然就使用ssh协议了,也就自然是免密的了,为此我们可以查看下此时与远端的交互协议:</span></p>
<p><img src="https://img2022.cnblogs.com/blog/1088037/202210/1088037-20221023230206209-107314541.png" alt="" loading="lazy"></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>====================================================</p>
<p>&nbsp;</p>

</div>
<div id="MySignature" role="contentinfo">
    本博客是博主个人学习时的一些记录,不保证是为原创,个别文章加入了转载的源地址,还有个别文章是汇总网上多份资料所成,在这之中也必有疏漏未加标注处,如有侵权请与博主联系。
如果未特殊标注则为原创,遵循 CC 4.0 BY-SA 版权协议。<br><br>
来源:https://www.cnblogs.com/xyz/p/16819985.html
頁: [1]
查看完整版本: 如何使用git通过ssh协议拉取gitee上的项目代码——如何正确的免密使用git