首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用 SSH 方式拉取代码

使用 SSH 方式拉取代码

作者头像
攻城狮杰森
发布于 2022-06-03 04:44:30
发布于 2022-06-03 04:44:30
2.5K00
代码可运行
举报
文章被收录于专栏:技术集锦技术集锦
运行总次数:0
代码可运行

使用 SSH 方式拉取代码

大家在使用 git 拉取代码时,是否曾遇到过类似 OpenSSL SSL_read: Connection was reset, errno 10054 的报错信息,解决方案参考

大概率原因出在网络身上,为避免各种修改代理,本机 host 等繁琐操作,推荐大家使用SSH方式拉取代码。那么首先需要先完成SSH基本配置,下面是详细配置过程

通过SSH方式拉取代码

如果你还不了解 git 中的一些基本知识,请参考这里

1.配置用户名和邮箱

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ git config --global user.name "用户名"

$ git config --global user.email "用户邮箱"

2.生成密钥对

首先查看设备上是否已生成过秘钥对

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ cd ~/.ssh    //进入指定路径文件夹
$ ls           //查看文件夹下内容

看一下有没有 id\_rsaid_rsa.pub 等文件,.pub 文件是公钥,另一个文件是密钥

若没有这些文件,或没有 .ssh 目录,则使用 ssh-keygen 命令来创建

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ ssh-keygen -t rsa -C "你的邮箱"

如有提示信息,点击 enter 即可,不需要设置密码! 难道你想在每次提交代码前输入一遍密码吗?

成功后会提示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Your public key has been saved in /home/you/.ssh/id_rsa.pub.
The key fingerprint is: 

3.进入 .ssh 文件夹,查找公钥

进入指定路径 .ssh 文件夹中,用记事本打开 id_rsa.pub,全选复制内容

也可通过指令查看

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ cat ~/.ssh/id_rsa.pub

例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ssh-rsa your secret email@email.com

4.进入代码托管平台,上传密钥

下面以 GitHub 为例,演示相关操作过程

1.登陆 github 帐户,点击你的头像,然后 Settings -> SSH and GPG keys -> New SSH key

2、然后你复制上面的公钥内容,粘贴进 key 文本域内。 title 域,自己随便起个名字

3、点击 add key

完成以后,验证下这个key是不是正常工作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ ssh -T git@github.com
Attempts to ssh to github

如果,看到如下信息提示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Hi xxx! You've successfully authenticated, but GitHub does not # provide shell access.

恭喜,配置成功!

5.找到项目仓库 SSH 地址

使用命令 git remote \-v 查看你当前的 remote url

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ git remote -v
origin https://github.com/username/project.git (fetch)
origin https://github.com/username/project.git (push)

如果是以上的结果那么说明此项目是使用 https 协议进行访问的;如果地址是 git 开头则表示是 git 协议

登陆你的 github 账户,查看项目仓库 ssh 协议的 URL

复制 ssh 链接,使用命令 git remote set-url 修改 remote-url,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git remote set-url origin git@github.com:username/project.git

最后使用命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git remote -v

检测 URL 是否已修改为 SSH 地址

6.日后使用此地址提交/拉取代码即可

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
设计模式-模板方法模式
简单地说就是,通过父类来定义一系列的算法骨架,并且约定这些方法及其调用顺序,而具体的某些特定方法由子类实现。
磊叔的技术博客
2025/06/07
1300
设计模式-模板方法模式
Servlet的生命周期
HttpServletservice()http methodservletdoXXX
高大北
2022/06/14
2020
设计模式 | 模板方法模式及典型应用
在程序开发中,经常会遇到这种情况:某个方法要实现的算法需要多个步骤,但其中有一些步骤是固定不变的,而另一些步骤则是不固定的。为了提高代码的可扩展性和可维护性,模板方法模式在这种场景下就派上了用场。
小旋锋
2019/01/21
1.3K0
Java描述设计模式(19):模板方法模式
通常一款互联网应用的开发流程如下:业务需求,规划产品,程序开发,测试交付。现在基于模板方法模式进行该过程描述。
知了一笑
2019/11/18
4300
行为型-Template
模板模式,全称是模板方法设计模式,英文是 Template Method Design Pattern。在 GoF 的《设计模式》一书中,它是这么定义的
acc8226
2022/05/17
3190
HttpServlet源码分析
1.HttpServlet的用法 提供了创建Http Servlet的抽象类,通过实现此类定义自己的Servlet 2.HttpServlet是否是线程安全 先说结论:HttpServlet不是线程安全 tomcat在只在第一次有请求的时候加载Servlet,加载之后调用init方法进行初始化,容器中只会保存一个Servlet对象,当有Http请求的时候会调用service方法对请求进行处理。所以Servlet不是线程安全的,当我们在Servlet中定义类变量或者处理共享资源时,要注意线程安全问题。简单的理
代码改变世界-coding
2018/07/03
3930
一天一个设计模式:模板方法模式
  模板方法模式是类的行为模式,准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的意思。
用户1134788
2018/12/10
4160
一天一个设计模式:模板方法模式
Java设计模式-模板方式模式
模板方法模式: 定义一个操作中的算法的骨架, 而将一些步骤延迟到子类中. 模板方法使得子类可以在不改变一个算法的结构的前提下重定义该算法的某些特定步骤. (图片来源: 设计模式:可复用面向对象软件的
Java帮帮
2018/03/16
1K0
Java设计模式-模板方式模式
Servlet的源码分析
4 .使用 ctrl+o 即可查看该类的所有属性与方法 注 : 每种图标代表不同的方法 ,像是第一个红色方框加SF 代表 private 类型的最终静态常量 ,其他类型如图所示
时间静止不是简史
2020/07/24
1.2K0
Servlet的源码分析
Spring MVC的模板方法模式 顶
模板方法模式是由抽象类或接口定义好执行顺序,由子类去实现,但无论子类如何实现,他都得按照抽象类或者接口定义好的顺序去执行。实例代码请参考 设计模式整理 ,Servlet的起点从Servlet接口开始。
算法之名
2019/08/20
1.7K0
Spring MVC的模板方法模式
                                                                            顶
Spring MVC 原理探秘 - 一个请求的旅行过程
1.简介 在前面的文章中,我较为详细的分析了 Spring IOC 和 AOP 部分的源码,并写成了文章。为了让我的 Spring 源码分析系列文章更为丰富一些,所以从本篇文章开始,我将来向大家介绍一下 Spring MVC 的一些原理。在本篇文章中,你将会了解到 Spring MVC 处理请求的过程。同时,你也会了解到 Servlet 相关的知识。以及 Spring MVC 的核心 DispatcherServlet 类的源码分析。在掌握以上内容后,相信大家会对 Spring MVC 的原理有更深的认识。
田小波
2018/07/03
1.5K0
图解 & 深入浅出 JavaWeb:Servlet 再说几句
摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢!
二哥聊运营工具
2021/12/17
2510
图解 & 深入浅出 JavaWeb:Servlet 再说几句
【Servlet】浅谈一下Servlet的继承关系。
javax.servlet.GenericServlet实现了接口Servlet:
.29.
2022/11/15
4860
【Servlet】浅谈一下Servlet的继承关系。
Servlet详解
Servlet是server+Applet的缩写,表示一个服务器应用。Servlet就是一套规范,按照这套规范写的代码就可以直接在Java服务器上面运行。
秋白
2019/02/21
6370
Servlet详解
HttpServlet中的service和doGet的区别
可见默认的doGet实现只是把错误发送出去. 所以, 为了使我们的web正常展示, 应该重写我们的doGet方法, 在doGet中完成相应逻辑. 这样当用户访问时, 调用默认service函数, service函数根据用户的get调用方法, 调用我们重写的doGet实现.
望天
2018/08/02
4570
设计模式之模板方法模式
org.springframework.web.servlet.HttpServletBean#init
九转成圣
2024/04/10
1970
设计模式之模板方法模式
SpringMVC工作原理流程(二)
当有请求过来,首先会先调用HttpServlet的service(ServletRequest req, ServletResponse res)方法,在service方法内部调用service(HttpServletRequest request, HttpServletResponse response)方法(这个service是重载方法,参数类型不同),FrameworkServlet对这个方法重写了。FrameworkServlet方法内部会调用父类的service(HttpServletRequest request, HttpServletResponse response)方法,父类的service(HttpServletRequest request, HttpServletResponse response)方法对不同的请求类型进行了划分,比如doGet,doPost,doXXX,FrameworkServlet对每个请求类型都做了方法重写,在方法内部,都统一调用processRequest(request, response)方法进行处理。processRequest(request, response)内部会对不同请求类型请求处理。
秋白
2019/02/21
5420
SpringMVC工作原理流程(二)
面试题之--SpringMVC 原理
一次为了解决跨域问题,采用了CORS方法。根据官方解释,只需要在响应头里设置 1、Access-Control-Allow-Origin 2、Access-Control-Allow-Methods 3、Access-Control-Allow-Headers 三个值就可以了,于是想到在HandlerInterceptor#preHandle()里去拦截跨域请求(options),然后再根据自定义注解判断请求的controller是否支持跨域请求,再设置对应的响应头。(项目基于spring3.2.x)但是发现请求死活无法进入preHandle里(项目里只有一个自定义的preHandle,不存在提前被别的HandlerInterceptor返回的情况)。于是利用debug大法,发现spring获取拦截器时是根据url和请求类型进行判断的,由于跨域请类型是options,无法获取对于的handler和HandlerInterceptor,导致直接就返回了,没有进入拦截器里。(spring4.x后有个默认的handler支持处理options)。于是把debug过程中学习到的知识,下次排查问题可以更快。
公众号 云舒编程
2024/01/25
1540
面试题之--SpringMVC 原理
Servlet: 全网最全Servlet详解
从事web开发的人,会很清楚一个东西叫 Web服务器,比如J2EE开—Tomcat,Jetty,.NET开发—IIS等。HTTP服务器是使用 HTTP(超文本传输协议) 与客户机浏览器进行信息交流。
Freedom123
2024/03/29
5780
Servlet: 全网最全Servlet详解
Servlet API 源码剖析
从目录出发,整个源代码分为 servlet、http、descriptor、annotation 四个部分。
FoamValue
2020/08/31
7130
相关推荐
设计模式-模板方法模式
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验