【DevOps】Git 图文详解(五):远程仓库
Git 图文详解(五):远程仓库
- 1.远程用户登录
- 1.1 🔑 远程用户登录:HTTS
- 1.2 🔑 远程用户登录:SSH
- 2.远程仓库指令 🔥
- 3.推送 push / 拉取 pull
- 4.fetch 与 pull 有什么不同 ?
Git 作为分布式的版本管理系统,每个终端都有自己的 Git 仓库。但团队协作还需一个中间仓库,作为中心,同步各个仓库。于是服务端(远程)仓库就来承担这个职责,服务端不仅有仓库,还配套相关管理功能。

可以用公共的 Git 服务器,也可以自己搭建一套 Git 服务器。
- 公共 Git 服务器,如 GitHub、GitLab、码云 Gitee、腾讯 Coding 等。
- 搭建私有 Git 服务器,如开源的 GitLab、Gitea 等。
1.远程用户登录
Git 服务器一般提供两种登录验证方式:
- HTTS:基于 HTTPS 连接,使用用户名、密码身份验证。
- 每次都要输入用户名、密码,当然可以记住。
- 地址形式:
https://github.com/kwonganding/KWebNote.git
- SSL:采用 SSL 通信协议,基于公私钥进行身份验证,所以需要额外配置公私秘钥。
- 不用每次输入用户名、密码,比较推荐的方法。
- 地址形式:
git@github.com:kwonganding/KWebNote.git

#查看当前远程仓库使用的哪种协议连接:
$ git remote -v
origin git@github.com:kwonganding/KWebNote.git (fetch)
origin https://github.com/kwonganding/KWebNote.git (push)# 更改为https地址,即可切换连接模式。还需要禁用掉SSL, 才能正常使用https管理git
git config --global http.sslVerify false
1.1 🔑 远程用户登录:HTTS
基于 HTTPS 的地址连接远程仓库,GitHub 的共有仓库克隆、拉取(pull)是不需要验证的。

$ git clone 'https://github.com/kwonganding/KWebNote.git'
Cloning into 'KWebNote'...# 仓库配置文件“.git/config”
[remote "origin"]url = https://github.com/kwonganding/KWebNote.gitfetch = +refs/heads/*:refs/remotes/origin/*pushurl = https://github.com/kwonganding/KWebNote.git
推送(push)代码的时候就会提示输入用户名、密码了,否则无法提交。记住用户密码的方式有两种:
🔸 URL 地址配置:在原本 URL 地址上加上用户名、密码,https:// 后加 用户名:密码@
# 直接修改仓库的配置文件“.git/config”
[remote "origin"]url = https://用户名:密码@github.com/kwonganding/KWebNote.gitfetch = +refs/heads/*:refs/remotes/origin/*pushurl = https://github.com/kwonganding/KWebNote.git
🔸 本地缓存:会创建一个缓存文件 .git-credentials,存储输入的用户名、密码。
# 参数“--global”全局有效,也可以针对仓库设置“--local”
# store 表示永久存储,也可以设置临时存储
git config --global credential.helper store# 存储内容如下,打开文件“仓库\.git\.git-credentials”
https://kwonganding:[加密内容付费可见]@github.com
1.2 🔑 远程用户登录:SSH

SSH(Secure Shell,安全外壳)是一种网络安全协议,通过加密和认证机制实现安全的访问和文件传输等业务,多用来进行远程登录、数据传输。SSH 通过公钥、私钥非对称加密数据,所以 SSH 需要生成一个公私钥对,公钥放服务器上,私有自己留着进行认证。

① 生成公私钥:通过 Git 指令 ssh-keygen -t rsa 生成公私钥,一路回车即可完成。生成在 C:\Users\用户名.ssh 目录下,文件 id_rsa.pub 的内容就是公钥。

② 配置公钥:打开 id_rsa.pub 文件,复制内容。GitHub 上,打开 Setting ➤ SSH and GPG keys ➤ SSH keys ➤ 按钮 New SSH key,标题(Title)随意,秘钥内容粘贴进去即可。

SSH 配置完后,可用 ssh -T git@github.com 来检测是否连接成功。
$ ssh -T git@github.com
Hi kwonganding! You've successfully authenticated, but GitHub does not provide shell access.
2.远程仓库指令 🔥
| | |
|---|---|
git clone [git地址] | 从远程仓库克隆到本地(当前目录) |
git remote -v | 查看所有远程仓库,不带参数 -v 只显示名称 |
git remote show [remote] | 显示某个远程仓库的信息 |
git remote add [name] [url] | 增加一个新的远程仓库,并命名 |
git remote rename [old] [new] | 修改远程仓库名称 |
git pull [remote] [branch] | 取回远程仓库的变化,并与本地版本合并 |
git pull | 同上,针对当前分支 |
git fetch [remote] | 获取远程仓库的所有变动到本地仓库,不会自动合并!需要手动合并 |
git push | 推送当前分支到远程仓库 |
git push [remote] [branch] | 推送本地当前分支到远程仓库的指定分支 |
git push [remote] --force / -f | 强行推送当前分支到远程仓库,即使有冲突。⚠️很危险! |
git push [remote] --all | 推送所有分支到远程仓库 |
git push –u | 参数 –u 表示与远程分支建立关联,第一次执行的时候用,后面就不需要了 |
git remote rm [remote-name] | 删除远程仓库 |
git pull --rebase | 使用 rebase 的模式进行合并 |
3.推送 push / 拉取 pull
git push、git pull 是团队协作中最常用的指令,用于同步本地、服务端的更新,与他人协作。
🔸 推送(push):推送本地仓库到远程仓库。
- 如果推送的更新与服务端存在冲突,则会被拒绝,
push失败。一般是有其他人推送了代码,导致文件冲突,可以先pull代码,在本地进行合并,然后再push。
🔸 拉取(pull):从服务端(远程)仓库更新到本地仓库。
git pull:拉取服务端的最新提交到本地,并与本地合并,合并过程同分支的合并。git fetch:拉取服务端的最新提交到本地,不会自动合并,也不会更新工作区。

4.fetch 与 pull 有什么不同 ?
两者都是从服务端获取更新,主要区别是 fetch 不会自动合并,不会影响当前工作区内容。
git pull=git fetch+git merge
- 如下面图中,
git fetch只获取了更新,并未影响master、HEAD的位置。 - 要更新
master、HEAD的位置需要手动执行git merge合并。

# fetch只更新版本库
$ git fetch
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 663 bytes | 44.00 KiB/s, done.
From github.com:kwonganding/KWebNote2ba12ca..c64f5b5 main -> origin/main# 执行合并,合并自己
$ git merge
Updating 2ba12ca..c64f5b5
Fast-forwardREADME.md | 2 +-1 file changed, 1 insertion(+), 1 deletion(-)
相关文章:
【DevOps】Git 图文详解(五):远程仓库
Git 图文详解(五):远程仓库 1.远程用户登录1.1 🔑 远程用户登录:HTTS1.2 🔑 远程用户登录:SSH 2.远程仓库指令 🔥3.推送 push / 拉取 pull4.fetch 与 pull 有什么不同 ? …...
如果在手机没有root的情况下完成安卓手机数据恢复
您是否不小心从安卓设备中删除了重要数据? 担心如何取回您的照片、视频和文档? 有时您可能会不小心删除重要数据并使用安卓 root方法取回文件。 许多用户不喜欢根植他们的安卓设备,因为这是一种复杂的方法。 在本指南中,我们将向您…...
C++学习 --stack
目录 1, 什么是stack 2, 创建stack 2-1, 标准数据类型 2-2, 自定义数据类型 2-3, 其他创建方式 3, 操作stack 3-1, 赋值 3-2, 插入元素(push) 3-3, 查询元素 3…...
简单但好用:4种Selenium截图方法了解一下!
前言 我们执行UI自动化操作时,大多数时间都是不在现场的,出现错误时,没有办法第一时间查看到,这时我们可以通过截图当时出错的场景保存下来,后面进行查看报错的原因,Selenium中提供了几种截图的方法&#x…...
【报错记录】解决使用Kotlin写的SpringBoot项目使用Aspect切面无法生效的问题
前言 为了能在SpringBoot使用Kotlin,真的是各种坑都彩礼一遍,这次遇到的问题是Aspect无法对Kotlin代码生效。我这里的使用场景是使用切面切Controller中的方法,用来对接口进行一些初始化和收尾工作。 Aspect在Controller类还是Java代码的时…...
在python中分别利用numpy,tensorflow,pytorch实现数据的增加维度(升维),减少维度(降维)
文章目录 前言一、使用numpy实现升维度,降维度二、使用TensorFlow实现升维度,降维度三、使用PyTorch实现升维度,降维度总结 前言 我们明确一下升维和降维的概念: 升维(Dimensionality Augmentation)&…...
基于天鹰算法优化概率神经网络PNN的分类预测 - 附代码
基于天鹰算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于天鹰算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于天鹰优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神经网络的光滑…...
Flutter的Event Loop
Flutter 的事件循环机制是其框架的核心部分,它负责管理事件的处理和UI的渲染。了解这个机制对于开发高效且响应迅速的Flutter应用非常重要。以下是Flutter事件循环的主要组成部分和工作原理: 1. 主事件循环(Main Event Loop) 当…...
HarmonyOS ArkTSTabs组件的使用(六)
Tabs组件的使用 ArkUI开发框架提供了一种页签容器组件Tabs,开发者通过Tabs组件可以很容易的实现内容视图的切换。页签容器Tabs的形式多种多样,不同的页面设计页签不一样,可以把页签设置在底部、顶部或者侧边。 Tabs组件的简单使用 Tabs组件…...
【MetaLearning】有关Pytorch的元学习库higher的基本用法
【MetaLearning】有关Pytorch的元学习库higher的基本用法 文章目录 【MetaLearning】有关Pytorch的元学习库higher的基本用法1. 基本介绍2. Toy ExampleReference 1. 基本介绍 higher.innerloop_ctx是higher库的上下文管理器,用于创建内部循环(inner lo…...
火山引擎 ByteHouse 的增强型数据导入技术实践
作为企业数字化建设的必备要素,易用的数据引擎能帮助企业提升数据使用效率,更好提升数据应用价值,夯实数字化建设基础。 数据导入是衡量OLAP引擎性能及易用性的重要标准之一,高效的数据导入能力能够加速数据实时处理和分析的效率。…...
依赖库:Ceres-solver-2.0.0安装
依赖库:Ceres-solver-2.0.0安装 前言安装ceres-solver-2.0.0验证 前言 Ceres Solver是谷歌开源的C非线性优化库,能够解决有约束或无约束条件下的非线性最小二乘问题。2010年之后大量的运用在谷歌的产品开发中,尤其在谷歌开源的cartographer中…...
LeSS敏捷框架高效生产力实践
每个团队可能都有一套适合自己的敏捷方法,本文介绍了ResponseTap工程团队通过采用LeSS框架、引入准备周,从而提升迭代冲刺研发效能的实践。原文: LeSS Agile, More Productive — Part 1: Pain[1], LeSS Agile, More Productive — Part 2: Promise, LeS…...
matlab绘图函数plot和fplot的区别
一、背景 有的函数用plot画就会报错,显示数据必须为可转换为双精度值的数值、日期时间、持续时间、分类或数组。 如下图所示: 但用fplot函数就没有问题,因此这里记录一下两者的区别,如果使用不当,画出的图可能就是下…...
场景交互与场景漫游-对象选取(8-2)
对象选取示例的代码如程序清单8-11所示: /******************************************* 对象选取示例 *************************************/ // 对象选取事件处理器 class PickHandler :public osgGA::GUIEventHandler { public:PickHandler() :_mx(0.0f), _my…...
模拟Spring源码思想,手写源码,理解注解
1、BeanDefinition package com.csdn.myspring; import lombok.AllArgsConstructor; import lombok.Data; Data AllArgsConstructor public class BeanDefinition {private String beanName;private Class beanClass; }2、扫描包的工具类MyTools package com.csdn.myspring; im…...
各种LLM数据集包括SFT数据集
各种LLM数据集包括SFT数据集 数集介绍和 hf上的名字对话数据生成方法交通领域数据集SFT 的解释数集介绍和 hf上的名字 通用预训练数据集 SFT datasets SFT 数据集 50万条中文ChatGPT指令Belle数据集:BelleGroup/train_0.5M_CN 100万条中文ChatGPT指令Belle数据集:BelleGrou…...
Sleuth
Sleuth 一 引言 随着服务的越来越多,对调⽤链的分析会越来越复杂。它们之间的调⽤关系也许如下图: 问题: 1:微服务之间的调⽤错综复杂,⽤户发送的请求经历那些服务,调⽤链不清楚,没有⼀ 个⾃…...
新手必看!!附源码!!STM32通用定时器输出PWM
一、什么是PWM? PWM(脉冲宽度调制)是一种用于控制电子设备的技术。它通过调整信号的脉冲宽度来控制电压的平均值。PWM常用于调节电机速度、控制LED亮度、产生模拟信号等应用。 二、PWM的原理 PWM的基本原理是通过以一定频率产生的脉冲信号࿰…...
静态文件鉴权
静态文件鉴权的解决方案 背景介绍 XX业务系统作为BXX业务系统的孪生姐妹系统,是对BXX受理业务的强力补充系统,他允许操作员拿着IPAD,和客户约定地点上门受理业务。 因一些业务的受理,按照最新的业务规章制度,需…...
MCP 2026修复窗口正在关闭:2026年4月起强制启用Runtime Integrity Guard(RIG)协议,你的系统还支持旧式热补丁吗?
更多请点击: https://intelliparadigm.com 第一章:MCP 2026安全漏洞实时修复方法 MCP 2026 是一种影响主流微控制器平台的高危内存越界写入漏洞(CVE-2026-17892),攻击者可利用该漏洞在未授权状态下劫持固件执行流。其…...
Java程序员无高并发经验该如何破局?
现在Java面试,问的是越来越底层。作为一名合格的Java程序员不仅要能“上天”,还要能“入地”!上天是指高并发,缓存,大流量,大数据量,能在更高的层面解决问题,入地是指从JVMÿ…...
百万上下文之后,拼什么?
过去几天,科技圈的视线全被DeepSeek吸走了。满屏都是传闻中的估值溢价,或者是跟各类国产算力芯片的适配通稿。市场的狂热情绪,很容易让人迷失在庞大的数字迷宫里。大众的关注点,要么是“百万上下文"这个听起来很唬人的标签&a…...
Spire全家桶(PDF/Doc/XLS)在.NET 6控制台项目中的实战:从免费水印到无限制使用的完整替换指南
Spire全家桶在.NET 6控制台项目中的深度实践:从评估版到商业级应用的完整解决方案 在当今企业级应用开发中,文档处理已成为不可或缺的核心功能。无论是生成报表、处理合同还是数据导出,对PDF、Word和Excel的操作需求无处不在。Spire系列组件以…...
AI 免费获客结束进入商业化验证,豆包付费测试能否破解盈利难题?
【AI 商业化新阶段开启】免费获客阶段结束,AI 应用开始进入“成本分层 用户分层 商业化验证”阶段。最近,豆包 App Store 页面出现了付费订阅信息,除免费基础版外,可能有 68 元/月标准版、200 元/月加强版、500 元/月专业版&…...
Fogsight完整安装指南:5分钟快速部署本地AI动画生成器
Fogsight完整安装指南:5分钟快速部署本地AI动画生成器 【免费下载链接】fogsight Fogsight is an AI agent and animation engine powered by Large Language Models. 项目地址: https://gitcode.com/gh_mirrors/fo/fogsight Fogsight是一款由大语言模型驱动…...
终极指南:如何一键合并B站缓存视频并保留完整弹幕
终极指南:如何一键合并B站缓存视频并保留完整弹幕 【免费下载链接】BilibiliCacheVideoMerge 🔥🔥Android上将bilibili缓存视频合并导出为mp4,支持安卓5.0 ~ 13,视频挂载弹幕播放(Android consolidates and exports th…...
Allegro 17.4 铺铜避坑指南:从动态铜皮参数到孤岛删除,一次讲清所有细节
Allegro 17.4 铺铜避坑指南:从动态铜皮参数到孤岛删除,一次讲清所有细节 刚接触Allegro进行PCB设计的硬件工程师,往往会在铺铜环节遇到各种"坑"。从动态铜皮参数设置不当导致的DRC错误,到孤岛铜皮处理不及时引发的生产隐…...
如何在Python中快速接入Taotoken平台并调用多模型API
如何在Python中快速接入Taotoken平台并调用多模型API 1. 准备工作 在开始编写代码前,需要完成两项基础准备工作。首先登录Taotoken控制台,在「API密钥」页面创建一个新的API Key,建议复制后妥善保存。其次访问「模型广场」页面,…...
ComfyUI插件管理完全指南:从安装到故障排除的实用教程
ComfyUI插件管理完全指南:从安装到故障排除的实用教程 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various custo…...
