当前位置: 首页 > article >正文

git - 用SSH方式迁出远端git库

文章目录

    • git - 用SSH方式迁出远端git库
    • 概述
    • 笔记
      • 以gitee为例
        • 产生RSA密钥对
    • 备注
    • github
    • END

git - 用SSH方式迁出远端git库

概述

最近一段时间,在网络没问题的情况下,用git方式直接迁出git库总是会失败。
失败都是在远端, 显示RPC错误。
但是git服务器端是没问题的。

d:\3rd>git clone https://gitee.com/lostspeed/llvm-project.git
Cloning into 'llvm-project'...
error: RPC failed; HTTP 504 curl 22 The requested URL returned error: 504
fatal: expected 'packfile'

每次RPC报错不一样。
有时是根本就不能迁出,有时是迁出快完成了(99%), 出现远端RPC错误,导致迁出失败。

因为直接下载工程的快照.zip是成功的,但是看不到工程历史,挺闹心的。
有的时候,太大的快照.zip也会失败。

已经确认了,就是git迁出时报的错。不知道网络上哪个节点拦截了git的操作。

尝试用SSH方式迁出成功。

笔记

用SSH迁出的方法,只适合自己在远端导入或fork出的自己有权限操作的库副本。
库副本中有完整的工程历史,这就够了。

以gitee为例

先在gitee上导入想要远端库的url(e.g. https://github.com/llvm/llvm-project.git),迁出的库如果只是学习用,设置为私有的方便一些,只是一个临时库副本。

产生RSA密钥对

装了git后,就有ssh-keygen.exe
在这里插入图片描述
打开cmd, 运行如下命令

ssh-keygen -t rsa

在这里插入图片描述
id_rsa.pub是公钥,用VSCODE打开,复制内容到剪贴板。
在库副本的管理页面,添加公钥,将剪贴板的公钥粘贴进去,起个名字(如果不起名字,就是自己计算机的名字),点击添加。
在这里插入图片描述
在远端库副本,添加了公钥的样子。
在这里插入图片描述
此时,在命令行用SSH方式去迁出库副本。

参考库远端的web页面说明,就可以知道怎么用SSH方式迁出库。
在这里插入图片描述
如果git库的用户名和email和库副本不一样,用git config设置一下

git config --global user.name 'test' 
git config --global user.email 'test@test.com'

然后在命令行用SSH方式迁出自己fork出的库副本。

git clone git@gitee.com:me/llvm-project.git

迁出的很顺利

备注

估计是git的https操作被人抓包,看到了啥特点,所以有机会被拦截。
用SSH方式,RSA密钥对都是临时生成的,安全性要好很多。

github

从github迁出开源库时,用https方式,还是在开始克隆后,失败。
改用SSH方式,还是好使:)
在github库上迁出,设置SSH公钥的方式和gitee基本一致。
当选择库地址时,选择SSH子页,如果没有设置过SSH公钥,在克隆方式上会有一个超链接,点击即去往自己账号的设置页面。
设置完公钥后,github页面会自动关掉,回到登录页面。重新登录即可。
然后用SSH方式,用git命令行即可克隆成功。
用TortoiseGit不行的,必须用cmd方式,在cmd窗口,用git命令行,用SSH方式克隆才行。
在这里插入图片描述

END


http://www.kler.cn/a/500007.html

相关文章:

  • 大语言模型训练的数据集从哪里来?
  • 西电-神经网络基础与应用-复习笔记
  • 从0开始分享一个React项目(二):React-ant-admin
  • docker配置镜像加速
  • 【LC】3270. 求出数字答案
  • 【钉钉在线笔试题】字符串表达式的加减法
  • 监听器与RBAC权限模型
  • Python的循环
  • 寻找最短路径
  • 【论文阅读】SDA-FC: Bridging federated clustering and deep generative model
  • JAVA中线程池ThreadPoolExecutor的使用
  • “天上北斗+地上5G”,遨游北斗终端绘危急特场景通信新蓝图
  • 音视频入门基础:RTP专题(2)——使用FFmpeg命令生成RTP流
  • 【学习路线】Python进阶 详细知识点学习路径(附学习资源)
  • 机器学习之基本概念 - 特征、标签、样本
  • 8分钟入门 Overleaf Latex-笔记
  • <C++学习>C++ Boost 算法集合操作教程
  • Android 13 framework方法通过AIDL方式供三方APP使用
  • 最新前端面试题(附答案)
  • 使用uniapp 微信小程序一些好用的插件分享
  • 基于单片机的指纹密码锁
  • Linux x86_64 程序静态链接之重定位