Git的安装以及SSH配置

前言

近期工作需要,所以版本管理工具要用到Git,某些操作需要ssh进行操作,在某次操作中遇到:git bash报错:Permission denied, please try again。经排查是ssh没有配置我的key,所以就借着这篇文章整理了一下关于Git的安装以及SSH配置过程。

可以外网的用户安装步骤

如果可以联网的用户直接键入下面这条命令即可

yum -y install git

离线用户安装步骤

下载git安装包

到达下面这个地址找到Linux的安装包即可。

https://git-scm.com/downloads

如下图所示,首先点击老本本下载,超导对应的Linux安装包

在这里插入图片描述

如下图找到适合自己的tar.gz包即可。

在这里插入图片描述

安装Git依赖(可跳过)

安装Git之前使用下面这段命令对需要的依赖进行安装一下,这一步我们可以先跳过,因为现在Linux环境基本不缺乏这些依赖,我们可以在后续的步骤中找到确实的依赖然后到网上下载对应的包手动下载即可,笔者这一步只是告知读者我们可能需要那些依赖而已。

yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker

解压tar.gz包

我们将下载的git安装包上传到服务器上,肉键入下面的命令进行解压。

tar -zxvf git-v2.8.0.tar.gz

进入解压后的git目录进行编译

完成解压后,需要对git进行编译。

cd git-2.8.0/

键入下面这段命令进行解压

 make prefix=/usr/local all

安装git

直接键入下面这条命令完成安装。

 make prefix=/usr/local install

查看版本号,若存在则安装成功

git --version

如下所示,这就说明git安装完成了。

git version 1.8.3.1

Git仓库SSH配置

为什么需要SSH

我们日常代码可能会通过GitHub或者gitee来管理,如果希望push和pull的速度快一些,则最好使用ssh的方式和远程仓库建立连接。所以完成Git安装之后我们还需要配置SSH提升和远程仓库交互的速度。

创建SSH密钥

注意: GitHub 在 2022 年 3 月 15 日之后将不再支持 RSA 算法生成的密钥,原因是 RSA 不够安全,而笔者之前一直是使用如下命令生成密钥对的:

ssh-keygen -t rsa -C "邮箱"

所以,笔者在2023.7.2修改了文章的加密算法,选择 ed25519。

对于Linux用户,直接命令行即可。对于Windows我们直接打开git bash一样可以执行这个操作。

ssh-keygen -t ed25519 -C "xxxxxx@qq.com"
eval `ssh-agent`
ssh-add ~/.ssh/id_ed25519

查看密钥

Linux用户可以通过这条命令查看密钥,对于windows用户可以通过everything等工具全局搜索到这个文件的位置。

cat ~/.ssh/id_ed25519.pub

将id_ed25519.pub内容复制到码云或者GitHub

在这里插入图片描述

进行克隆测试,若文件克隆成功,则说明配置成功

将对应机子的公钥贴到远程代码仓之后,我们不妨做个测试,建立一个项目使用ssh的方式看看能不能将项目拉下来。

git clone git@gitee.com:xxxxx/linux_git_test.git

以笔者为例,仓库被完整的拉取下来了,这就说明本地配置成功了。

在这里插入图片描述

补充windows用户的一些问题

注意:完成上述ssh key生成且配置到git上后。如果为windows且使用的是TortoiseGit使用git clone时可能会报No supported authentication methods available的错误。原因很简单,笔者在windows下生成ssh key等操作都是使用git bash,这些设置只对git bash有效。所以当我们使用git bash进行pull代码操作时没有任何问题,所以我们在使用TortoiseGit进行clone时需先进行如下配置

  1. 右键TortoiseGit -> Settings
  2. 找到network将ssh client设置为gitbash的bin目录下的ssh.exe
    在这里插入图片描述

参考文献

TortoiseGit提示No supported authentication methods available错误: https://blog.csdn.net/Jeffxu_lib/article/details/112259246

解决GitHub报错You‘re using an RSA key with SHA-1, which is no longer allowed. Please use a newer client: https://blog.csdn.net/wangpaiblog/article/details/124416005

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/211388.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WorkPlus即时通讯,让沟通零障碍!企业协作更高效

如今,随着信息技术的快速发展,企业对于高效沟通和即时协作的需求也日益增长。在这个数字化时代,WorkPlus作为一款领先的企业级移动办公平台,以其强大的即时通讯功能和卓越的用户体验,成功为企业打造了高效沟通的新时代…

input = torch.randn(20, 2, 11, 11, 32)输出形式

input torch.randn(20, 2, 11, 11, 32) m torch.nn.AdaptiveAvgPool3d((1,1, 32)) xm(input) print(x.shape) 结果: 也就是不用管批次和通道数

Python开发运维:Python垃圾回收机制

目录 一、理论 1.Python垃圾回收机制 一、理论 1.Python垃圾回收机制 (1)引⽤计数器 1)环状双向链表 refchain 在python程序中创建的任何对象都会放在refchain链表中。 name "david" age 20 hobby ["篮球",游泳…

spring集成mybatis简单教程

首先说下实现了什么效果,就是不用每次查询前手动创建 sessionFactory和添加datasource文件了。 整个工程结构是这样的 这次我也把代码放在了gitee上,方便大家更全貌的看到所有的实现细节。代码链接如下: Java: 一些Java代码 (gitee.com) …

大话数据结构-查找-多路查找树

注:本文同步发布于稀土掘金。 7 多路查找树 多路查找树(multi-way search tree),其每个结点的孩子可以多于两个,且每一个结点处可以存储多个元素。由于它是查找树,所有元素之间存在某种特定的排序关系。 …

排序:归并排序

目录 归并排序——有递归的: 基本思想: 思路分析: 代码分析: 划分区间思路: 代码思路分析: 归并排序——有递归的: 基本思想: 归并排序(MERGE-SORT&#xff…

2023 CCF中国软件大会(CCF ChinaSoft)“软件工程教育”论坛 成功召开

2023年12月1日,2023年度CCF中国软件大会“软件工程教育”论坛成功召开。 ✦ 自去年来大模型技术的出现以及在各个领域的应用,对相关的学科和行业产生了深刻的影响。软件工程首当其冲,以ChatGpt和CopilotX等为代表的智能化开发工具可以帮助软…

2024年网络安全竞赛-数字取证调查attack817

​ 数字取证调查 (一)拓扑图 服务器场景:FTPServer20221010(关闭链接) 服务器场景操作系统:未知 FTP用户名:attack817密码:attack817 分析attack.pcapng数据包文件,通过分析数据包attack.pcapng找出恶意用户第一次访问HTTP服务的数据包是第几号,将该号数作为Flag值…

倪海厦:教你正确煮中药,发挥最大药效

同样的一个汤剂,我开给你,你如果煮的方法不对,吃下去效果就没那么好。 所以,汤,取它的迅捷,速度很快,煮汤的时候还有技巧,你喝汤料的时候,你到底是喝它的气,…

RTMP流设置超时时间失败

使用FFmpeg(版本是5.0.3)将rtmp流作为输入,设置超时时间(使用-timeout参数),结果报错:Cannot open Connection tcp://XXX:1935?listen&listen_timeout 通过./ffmpeg -help full 命令查看FFmpeg帮助&am…

Evidently:一个神奇的Python库,机器学习必备!

Evidently 是一个面向数据科学家和机器学习工程师的开源 Python 库。它有助于评估、测试和监控从验证到生产的数据和 ML 模型。它适用于表格、文本数据和嵌入。 简介 Evidently 是一个开源的 Python 工具,旨在帮助构建对机器学习模型的监控,以确保它们的…

判断一个Series序列的值是否为单调递减Series.is_monotonic_decreasing

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 判断一个Series序列中 各值是否单调递减 s.is_monotonic_decreasing [太阳]选择题 以下代码的输出结果中正确的是? import pandas as pd s1 pd.Series([3,2,1]) s2 pd.Series([3,2,4]) pri…

【代码随想录】算法训练计划41

dp 1、343. 整数拆分 题目: 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 输入: n 10 输出: 36 解释: 10 3 3 4, 3 3 4 36。 思路…

Kotlin Flow 操作符

前言 Kotlin 拥有函数式编程的能力,使用Kotlin开发,可以简化开发代码,层次清晰,利于阅读。 然而Kotlin拥有操作符很多,其中就包括了flow。Kotlin Flow 如此受欢迎大部分归功于其丰富、简洁的操作符,巧妙使…

数据结构入门————树(C语言/零基础/小白/新手+模拟实现+例题讲解)

目录 1. 树的概念及其结构 1.1 树的概念: 1.2 树的相关概念: 1.3 树的表示方法: ​编辑 1.4 树的应用: 2. 二叉树的概念及其结构 2.1 概念: 2.2 特点: 2.3 特殊二叉树: 2.4 二叉树的性质&#xf…

【深度学习】注意力机制(一)

本文介绍一些注意力机制的实现,包括SE/ECA/GE/A2-Net/GC/CBAM。 目录 一、SE(Squeeze-and-Excitation) 二、ECA(Efficient Channel Attention) 三、GE(Gather-Excite) 四、A2-Net(Double A…

二维码智慧门牌管理系统升级解决方案:数字鉴权

文章目录 前言一、数字鉴权的核心机制二、数字鉴权的意义和应用 前言 随着科技的飞速发展,我们的生活逐渐进入数字化时代。在这个数字化的过程中,数据的安全性和门牌信息的保障变得至关重要。今天,我们要介绍的是二维码智慧门牌管理系统升级…

【论文复现】zoedepth踩坑

注意模型IO: 保证输入、输出精度、类型与复现目标一致。 模型推理的代码 from torchvision import transforms def image_to_tensor(img_path, unsqueezeTrue):rgb transforms.ToTensor()(Image.open(img_path))if unsqueeze:rgb rgb.unsqueeze(0)return rgbdef…

机器学习笔记 - 基于C# + .net framework 4.8的ONNX Runtime进行分类推理

该示例是从官方抄的,演示了如何使用 Onnx Runtime C# API 运行预训练的 ResNet50 v2 ONNX 模型。 我这里的环境基于.net framework 4.8的一个winform项目,主要依赖下面版本的相关库。 Microsoft.Bcl.Numerics.8.0.0 Microsoft.ML.OnnxRuntime.Gpu.1.16.3 SixLabors.ImageShar…

MyString:string类的模拟实现 1

MyString:string类的模拟实现 前言: 为了区分标准库中的string,避免编译冲突,使用命名空间 MyString。 namespace MyString {class string{private:char* _str;size_t _size;size_t _capacity;const static size_t npos -1;// C标…