Git 使用SSH登陆

news2025/4/21 17:29:25

一、SSH介绍

         SSH连接相比于HTTP连接会简单一点,因为SSH连接通过了私钥与公钥进行身份认证,这样就不需要像HTTP一样,每次clone或者操作仓库都需要输入密码

        其中私钥和密钥是需要在自己电脑上生成的,通过命令即可生成一个私钥和一个密钥,这两个是成对出现的,一般会生成在你电脑C盘的用户目录下,有一个.ssh文件夹,如果看不到这个文件夹,打开文件管理器的显示隐藏文件功能,一般里边会有两个文件,一个是公钥,一个是私钥,后缀带.pub的是公钥

        公钥需要放到远端服务器的,私钥一般就保存在电脑上即可,不要泄露给别人。

        如果你要操作的仓库没有公钥,你是不能对这个仓库进行操作的,必须把你生成的公钥添加进去,下面会讲如何操作。

二、本地创建SSH密钥

        1、先在本地打开git bash,然后输入如下命令按三次回车,命令里的邮箱就写你远端仓库的邮箱即可

ssh-keygen -t rsa -C "远端仓库邮箱"

        2、 按完三次回车后,即可进入C盘用户目录,找到.ssh文件夹,打开里边后缀为.pub的文件,复制里边内容

        3、打开远端仓库,这里以gitee为例,登陆后点击右上角,找到账号设置,进入设置后找到SSH公钥,把刚才复制的粘贴进去,点击确定,就完成了公钥添加。

        注意:远端仓库分为仓库密钥和个人密钥,仓库密钥只能克隆和拉取仓库,不能推送仓库,也就是不能对仓库进行修改,而个人密钥是可以对仓库进行推送的。

        如果设置的是仓库密钥,在推送的时候会提示权限不够。

        4、测试SSH登陆,打开Git bash,输入如下命令测试,中间会让输入一次yes,如果SSH密钥设置成功,即可看到会输出You've successfully authenticated字样。

ssh -T git@gitee.com

三、通过SSH克隆仓库

3.1 本地没有仓库

        1、找到一个工作空间,最好在一个空文件夹下,然后打开Git bash,输入如下命令即可克隆仓库,后面接的地址一定是SSH地址

git clone 远端SSH地址

        2、切换到需要操作的分支,一般clone下来的仓库都是有很多个分支的,使用下面命令查看所有分支,如果是新clone的仓库分支是一样的。

# 查看远端仓库所有分支
git branch -r
# 查看远本地仓库所有分支
git branch -a

        使用下面命令切换对应分支:

 git checkout 需要操作的分支名字

        如果只有一个master分支,想再创建一个新分支,使用如下命令,再哪个分支上使用checkout命令,就是基于哪个分支创建的新分支。

git checkout -b 新分支名字

        如果想删除某个分支,使用下面命令

        注意必须处于别的分支才能删除这个分支,不能再本分支删除本分支

git branch -d 要删除的分支名字

        如果想删除远端分支,可以直接再远端界面操作,也可以使用下面命令

git push origin --delete 远端要删除分支名字

3.2 本地有仓库

        1、添加远端仓库        

        如果本地有一个仓库,使用如下命令添加远端仓库

git remote add origin 远端仓库SSH地址

        2、拉取远端仓库

        使用下面命令拉取远端仓库,会把远端仓库的所有分支全部拉取下来

git pull

        如果只是想拉取远端仓库的某一个分支,使用如下命令 

git pull origin 要拉取的远端仓库分支名

        如果本地仓库是一个空仓库,使用上面命令会把拉取下来的东西放到master分支,如果想跟远端仓库名字一样。需要使用如下命令,这里本

git push origin bee本地分支名字:远端仓库分支名字

地分支名字也写成远端分支名字,为后面上传减少麻烦

git pull origin 远端分支名字:本地分支名字

        注意:如果你本地是一个空仓库,拉取某一个仓库后,你的分支名就是master,而不是你远端仓库的分支名,这个后面推送的时候可能推送不上去,后面会讲

        空仓库的master分支实际是不存在的,也不能上来直接使用 git branch命令创建新分支,但是可以使用git checkout -b 命令直接创建新分支,其实页没有创建新分支,只是把默认的master改为了你写的分支名字

        但是如果你本地已经有分支了,就不会出现这种情况,只需要拉取完仓库后,切换到对应的分支即可,然后再操作,或者在对应分支的基础上再创建新的分支

        3、推送仓库

        使用如下命令即可把本地仓库推动到远端仓库

        如果当前分支是新创建的分支,就会在云端上传一个新的分支

git push origin 远端仓库分支名字

        注意:如果前面说的,你本地分支名字跟远端仓库分支名字不同,就需要使用如下命令

git push origin 本地分支名字:远端仓库分支名字

        4、合并分支

        首先需要切换到你要合并的分支,然后使用如下命令合并

git merge 要合并到当前分支的分支名字

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

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

相关文章

织梦DedeCMS修改文章【标题、短标题、关键词】长度限制

在后台虽然可以设置标题的长度,但是数据库的字段固定是60个字符,短标题是36字符,关键词30字符,所以这里教大家修改一下织梦DedeCMS修改【标题】【短标题】【关键词】长度限制 一、后台配置 1、进入dede后台管理 -> 系统 ->…

Powershell WSL部署ubuntu22.04.5子系统

前提条件WSL 安装 wsl 安装参考1wsl 安装csdn参考2wsl 百度网盘离线下载 本地目录安装ubuntu22.04.5 子系统 powershell 管理员打开执行(实现,下载安装ubuntu子系统,用户创建,远程ssh登录设置,防火墙端口开放)子系统IP 查看方法wsl

umi自带的tailwindcss修改为手动安装

1》为什么改为手动? 主要是为了解决这个报错问题,虽然重新运行也可解决,但是总是要运行2-3次,比较麻烦 2》如何手动 1,先在devDependencies下安装这两个包 pnpm install postcss8.5.1 -D "autoprefixer"…

麒麟V10 arm cpu aarch64 下编译 RocketMQ-Client-CPP 2.2.0

国产自主可控服务器需要访问RocketMQ消息队列,最新的CSDK是2020年发布的 rocketmq-client-cpp-2.2.0 这个版本支持TLS模式。 用默认的版本安装遇到一些问题,记录一下。 下载Releases apache/rocketmq-client-cpp GitHubhttps://github.com/apache/roc…

使用码云搭建CocoaPods远程私有库

一、创建远程私有索引库 用来存放私有框架的详细描述信息.podspec文件 1. 创建私有库 假设码云上创建的私有库为repo-spec 2. 查看本地已存在的索引库 pod repo list 3. 将远程私有索引库添加到本地 pod repo add [https://gitee.com/jingluoguo/repo-spec.git](https://gi…

专访LayaAir引擎最有价值专家-施杨

在 LayaAir 引擎的资源商店中,许多开发者都会注意到一个熟悉的名字——“射手座”。他不仅贡献了大量高质量的 Shader 资源,让一些开发者通过他的作品了解到 LayaAir 引擎在 3D 视觉效果上的更多可能,也让大家能够以低成本直接学习并应用这些…

自然语言处理:文本聚类

介绍 大家好,博主又来和大家分享自然语言处理领域的知识了。今天给大家分享的内容是自然语言处理中的文本聚类。 文本聚类在自然语言处理领域占据着重要地位,它能将大量无序的文本按照内容的相似性自动划分成不同的类别,极大地提高了文本处…

RabbitMQ 集群降配

这里写自定义目录标题 摘要检查状态1. 检查 RabbitMQ 服务状态2. 检查 RabbitMQ 端口监听3. 检查 RabbitMQ 管理插件是否启用4. 检查开机自启状态5. 确认集群高可用性6. 检查使用该集群的服务是否做了断开重连 实操1. 负载均衡配置2. 逐个节点降配(滚动操作&#xf…

数据结构:二叉树(一)·(重点)

前言 什么树?what? 树的概念与结构 概念: 树是⼀种⾮线性的数据结构,它是由 n ( n>0 ) 个有限结点组成⼀个具有层次关系的集合。 结构: 有⼀个特殊的结点,称为根结点&#…

DevEco Studio的使用

目录 1.创建ArkTS工程 2.ArkTS工程目录结构(Stage模型) 构建第一个页面 构建第二个页面 实现页面间的跳转 1.创建ArkTS工程 若首次打开DevEco Studio,请点击Create Project创建工程。如果已经打开了一个工程,请在菜单栏选择…

数据开发岗笔试题>>sql(hive) ,excel [2025]

sql SELECT user_id, AVG(loan_amount) AS avg_loan_amount FROM loan GROUP BY user_id HAVING AVG(loan_amount) > 20000; 授信表:credit 字段包含user_id(用户id),credit_id(授信id),credit_time(授信时间yyyy-MM-dd HH:mm:ss)&#x…

OpenGL ES 入门指南:从基础到实战

引言:为什么需要 OpenGL ES? 在当今的嵌入式设备(如智能手机、汽车仪表盘、智能家居中控屏)中,流畅的图形渲染能力是用户体验的核心。OpenGL ES(OpenGL for Embedded Systems) 作为行业标准&am…

docker安装milvus向量数据库Attu可视化界面

Docker 部署 Milvus 及 Attu 可视化工具完整指南 一、环境准备 安装 Docker 及 Docker Compose Docker 版本需 ≥20.10.12Docker Compose 版本需 ≥2.20.0(推荐 V2) 验证 Docker 环境 docker --version && docker-compose --version若出现&…

ArcGIS10. 8简介与安装,附下载地址

目录 ArcGIS10.8 1. 概述 2. 组成与功能 3. 10.8 特性 下载链接 安装步骤 1. 安装准备 2. 具体步骤 3.补丁 其他版本安装 ArcGIS10.8 1. 概述 ArcGIS 10.8 是由美国 Esri 公司精心研发的一款功能强大的地理信息系统(GIS)平台。其核心功能在于…

Idea中使用Git插件_合并当前分支到master分支_冲突解决_很简单---Git工作笔记005

由于之前用svn习惯了,用的git少,其实在idea中使用git,解决冲突,合并分支,非常的简单,一起来看一下吧. 一定要注意操作之前,一定要确保自己的分支代码,都已经commit提交了,并且push到远程了. 不要丢东西. 可以看到首先,在idea的左下角有个 git,点开以后 可以看到有显示的分支…

【Linux】应用层自定义协议 + 序列化和反序列化

应用层自定义协议 序列化和反序列化 一.应用层1.再谈 "协议"2.序列化 和 反序列化 二. Jsoncpp1.序列化2.反序列化 三. Tcp全双工 面向字节流四.自定义协议 保证报文的完整性1.Makefile2.Mutex.hpp3.Cond.hpp4.Log.hpp5.Thread.hpp6.ThreadPool.hpp7.Common.hpp8.…

Matlab 雷达导引头伺服系统的建模与仿真研究

1、内容简介 Matlab 177-雷达导引头伺服系统的建模与仿真研究 可以交流、咨询、答疑 2、内容说明 略[摘 要]基于 Malah/Simuink 雷达导引|头同服系统的建模与仿真,首先对雷达导引头同服系统按照预定回路和跟踪回路的步骤分别进行建模以及相关控制参数计算,接着构建…

华为ipd流程华为流程体系管理华为数字化转型流程数字化管理解决方案介绍81页精品PPT

华为流程体系最佳实践主要包括构建完善的流程框架,明确各层级流程要素与职责,梳理涵盖研发、采购、营销、服务、资产管理等多领域的流程,通过梳理业务场景和核心能力搭建差异化流程框架,采用自上而下与自下而上相结合的建模方法&a…

网络流基本概念及实现算法

基本概念 流网络 对于一个有向图, 抽象成水管里的水的模型, 每根管子有容量限制, 计为 G ( V , E ) G (V, E) G(V,E), 首先不考虑反向边 对于任意无向图, 都可以将反向边转化为上述形式 如果一条边不存在, 定义为容量为 0 0 0, 形式上来说就是 c ( u , v ) 0 c(u, v) 0 c(…

SpringBoot对接DeepSeek

文章目录 Spring Boot 集成 DeepSeek API 详细步骤1. 创建API Key1.访问 [DeepSeek控制台](https://platform.deepseek.com/usage) 并登录。2.点击 Create API Key 生成新密钥。3.复制并保存密钥(需在Spring Boot配置文件中使用)。 2. 创建Spring Boot工…