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

C++学习之金融类安全传输平台项目git

目录

1.知识点概述

2.版本控制工具作用

3.git和SVN

4.git介绍

5.git安装

6.工作区 暂存区 版本库概念

7.本地文件添加到暂存区和提交到版本库

8.文件的修改和还原

9.查看提交的历史版本信息

10.版本差异比较

11.删除文件

12.本地版本管理设置忽略目录

13.远程git仓库介绍

14.创建远程仓库

15.本地仓库中项目推送到远程仓库

16.将远程仓库内容克隆到本地

17.克隆应用场景

18.生成rsa密钥对

19.设置本地ssh秘钥

20.远程仓库ssh公钥设置

21.使用ssh地址进行仓库操作注意事项

22.分支介绍

23.分支的切换

24.合并分支和解决冲突

25.往远程非空仓库推动本地仓库内容

26.git提交代码操作

27.protobu部署


1.知识点概述

1.1. 版本控制系统

- 集中式版本控制系统

  > 集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。
  >
  > 集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,那就GG了.  

2.版本控制工具作用

3.git和SVN

> 版本库又名仓库,英文名**repository**,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

## 2.1 概念

- 工作区

  - 用户自己创建的目录 -> 存放源代码
  - 本地的版本库也需要放到工作区中
  - 每个工作区中都可以创建一个版本库
  - 只有工作区的`新文件`才需要添加到暂存区

- 版本库

  - 就是一个目录: 名字-> .git
  - 管理用于提交的代码

- 暂存区

  - 首先创建新文件 -> 在工作区 (和版本库没有关系)
  - 将新文件添加到本地仓库中 -> 新文件被保存在了暂存区 (还是没有进行版本管理)
  - 将暂存区数据提交到版本库 -> 这时候就可以进行版本管理了
  - 暂存区也是一个目录: stage/index

4.git介绍

5.git安装

创建版本库

  - 在工作区中鼠标右键

    ![1566526442145](assets/1566526442145.png)

    ![1566526474770](assets/1566526474770.png)

    ![1566526548563](assets/1566526548563.png)

- 添加新文件

  - 在工作区右键菜单

    ![1566528567183](assets/1566528567183.png)

    ![1566528599191](assets/1566528599191.png)

6.工作区 暂存区 版本库概念

7.本地文件添加到暂存区和提交到版本库

8.文件的修改和还原

9.查看提交的历史版本信息

10.版本差异比较

11.删除文件

12.本地版本管理设置忽略目录

13.远程git仓库介绍

14.创建远程仓库

15.本地仓库中项目推送到远程仓库

16.将远程仓库内容克隆到本地

17.克隆应用场景

18.生成rsa密钥对

19.设置本地ssh秘钥

20.远程仓库ssh公钥设置

21.使用ssh地址进行仓库操作注意事项

22.分支介绍

23.分支的切换

24.合并分支和解决冲突

25.往远程非空仓库推动本地仓库内容

- 远程仓库设置公钥

  - 进入当前用户的设置界面

    ![1566545689936](assets/1566545689936.png)

    ![1566545737164](assets/1566545737164.png)

    ![1566545824011](assets/1566545824011.png)

  - 使用ssh地址遇到的问题

    ![1566546069055](assets/1566546069055.png)

    ```shel
    # 解决方案: 需要修改tortoisegit 使用的 ssh工具
    # 需要在 tortoisegit 设置窗口中进行修改
    ```

    - 默认的路径

      ![1566546228805](assets/1566546228805.png)

    - 修改后的路径

      ![1566546372033](assets/1566546372033.png

26.git提交代码操作

## 6.1 创建分支

![1566547011380](assets/1566547011380.png)

![1566547074035](assets/1566547074035.png)

## 6.2 切换分支

![1566547131012](assets/1566547131012.png)

![1566547316804](assets/1566547316804.png)

## 6.3 合并分支

> 两个分支进行合并(master, new分支), 最终要合并到那个分支(master), 就先切换到那个分支(master), 切换完成之后, 在选择把哪个分支(new分支)合并到当前分支(master)

![1566548777614](assets/1566548777614.png)

![1566548823482](assets/1566548823482.png)

## 6.4 解决冲突

![1566549020854](assets/1566549020854.png)

![1566549064722](assets/1566549064722.png)

27.protobu部署

直接推送 -> 失败

![1566549817839](assets/1566549817839.png)

> 失败的原因:
>
> - 远程仓库不是空的
>   - 有一个默认分支, `master`
> - 本地仓库, 不是空的
>   - 有一个默认分支, `master`
> - 远程仓库和本地仓库默认分支名字相同, 但是这两个分支没有任何关系
>   - 没有关系的分支进行合并 -> 失败

- 解决方案

  > 1. 将远程仓库拉取到本地(pull)
  >    - 拉取: 直接将远程仓库分支中的信息和本地分支进行合并
  >    - 获取: 将远程仓库分支复制到本地的另外一个分支中, 不会合并
  >      - 分支名字: fetch_head
  > 2. 将两个分支进行强行合并
  > 3. 将本地分支数据推送动到远程仓库

- 通过进行获取操作, 得到新分支`FETCH_HEAD`

![1566550553280](assets/1566550553280.png)

- 合并分支: 得到的新分支`FETCH_HEAD`分支合并到本地`master`分支

![1566550645559](assets/1566550645559.png)

![1566550709001](assets/1566550709001.png)

- 将本地仓库推动到远程仓库

![1566550772679](assets/1566550772679.png)

# 8. 使用最多的场景

> 远程仓库分支和本地仓库分支有关系的情况, 该如何操作?
>
> - 本地:
>   - 修改代码提交到本地仓库
>   - 提交到远程仓库
>     - 不能直接提交
>     - 在推送之前应该将远程仓库代码`拉取`到本地
>       - 进程代码合并
>         - 有可能冲突 -> 手动解决冲突
>     - 将新的代码推动到远程仓库

相关文章:

C++学习之金融类安全传输平台项目git

目录 1.知识点概述 2.版本控制工具作用 3.git和SVN 4.git介绍 5.git安装 6.工作区 暂存区 版本库概念 7.本地文件添加到暂存区和提交到版本库 8.文件的修改和还原 9.查看提交的历史版本信息 10.版本差异比较 11.删除文件 12.本地版本管理设置忽略目录 13.远程git仓…...

CCF CSP 第36次(2024.12)(1_移动_C++)

CCF CSP 第36次(2024.12)(1_移动_C) 解题思路:思路一: 代码实现代码实现(思路一): 时间限制: 1.0 秒 空间限制: 512 MiB 原题链接 解题思路&…...

7.thinkphp的路由

一.路由简介 1. 路由的作用就是让URL地址更加的规范和优雅,或者说更加简洁; 2. 设置路由对URL的检测、验证等一系列操作提供了极大的便利性; 3. 路由是默认开启的,如果想要关闭路由,在config/app.php配置…...

Browser-use 是连接你的AI代理与浏览器的最简单方式

AI MCP 系列 AgentGPT-01-入门介绍 Browser-use 是连接你的AI代理与浏览器的最简单方式 AI MCP(大模型上下文)-01-入门介绍 AI MCP(大模型上下文)-02-awesome-mcp-servers 精选的 MCP 服务器 AI MCP(大模型上下文)-03-open webui 介绍 是一个可扩展、功能丰富且用户友好的…...

(五)机器学习---决策树和随机森林

在分类问题中还有一个常用算法:就是决策树。本文将会对决策树和随机森林进行介绍。 目录 一.决策树的基本原理 (1)决策树 (2)决策树的构建过程 (3)决策树特征选择 (4&#xff0…...

【项目管理】第16章 项目采购管理-- 知识点整理

项目管理-相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 (一)知识总览 项目管理知识域 知识点: (项目管理概论、立项管理、十大知识域、配置与变更管理、绩效域) 对应&…...

2025年4月15日 百度一面 面经

目录 1. 代理相关 从静态代理到动态代理 2. cglib可以代理被final修饰的类吗,为什么 3. JVM 体系结构 4. 垃圾回收算法 5. 什么是注解 如何使用 底层原理 6. synchronized和reentrantlock 7. 讲一下你项目中 redis的分布式锁 与java自带的锁有啥区别 8. post 请求和 ge…...

从图像“看出动作”

📘 第一部分:运动估计(Motion Estimation) 🧠 什么是运动估计? 简单说: 👉 给你一段视频,计算机要“看懂”里面什么东西动了、往哪动了、有多快。 比如: 一…...

鸿蒙案例---生肖抽卡

案例源码: Zodiac_cards: 鸿蒙生肖抽奖卡片 效果演示 初始布局 1. Badge 角标组件 此处为语雀内容卡片,点击链接查看:https://www.yuque.com/kevin-nzthp/lvl039/rccg0o4pkp3v6nua 2. Grid 布局 // 定义接口 interface ImageCount {url:…...

达梦数据库-学习-18-ODBC数据源配置(Linux)

一、环境信息 名称值CPU12th Gen Intel(R) Core(TM) i7-12700H操作系统CentOS Linux release 7.9.2009 (Core)内存4G逻辑核数2DM版本1 DM Database Server 64 V8 2 DB Version: 0x7000c 3 03134284194-20240703-234060-20108 4 Msg Versi…...

Conda 入门指令教程

Conda 入门指令教程 Conda 是一个强大的包和环境管理工具,广泛应用于数据科学和机器学习项目中。本文将介绍 Conda 的常用指令,帮助你快速上手。 1. Conda 基础操作 查看 Conda 版本 conda --version显示当前安装的 Conda 版本。 更新 Conda conda…...

宿舍管理系统(servlet+jsp)

宿舍管理系统(servletjsp) 宿舍管理系统是一个用于管理学生宿舍信息的平台,支持超级管理员、教师端和学生端三种用户角色登录。系统功能包括宿舍管理员管理、学生管理、宿舍楼管理、缺勤记录、添加宿舍房间、心理咨询留言板、修改密码和退出系统等模块。宿舍管理员…...

驱动-兼容不同设备-container_of

驱动兼容不同类型设备 在 Linux 驱动开发中,container_of 宏常被用来实现一个驱动兼容多种不同设备的架构。这种设计模式在 Linux 内核中非常常见,特别 是在设备驱动模型中。linux内核的主要开发语言是C,但是现在内核的框架使用了非常多的面向…...

MySQLQ_数据库约束

目录 什么是数据库约束约束类型NOT NULL 非空约束UNIQUE 唯一约束PRIMARY KEY主键约束FOREIGN KEY外键约束CHECK约束DEFAULT 默认值(缺省)约束 什么是数据库约束 数据库约束就是对数据库添加一些规则,使数据更准确,关联性更强 比如加了唯一值约束&#…...

责任链设计模式(单例+多例)

目录 1. 单例责任链 2. 多例责任链 核心区别对比 实际应用场景 单例实现 多例实现 初始化 初始化责任链 执行测试方法 欢迎关注我的博客!26届java选手,一起加油💘💦👨‍🎓😄😂 最近在…...

控制反转(IoC)和依赖注入(DI)实现及常用注解

在Spring框架里,控制反转(IoC)和依赖注入(DI)是核心特性,以下将介绍实现它们的各种方式以及常用注解。 配置文件方式 详细版: Spring IoC与DI详解:从Bean概念到手写实现 XML 配置…...

DeepSeek 接入 Excel 完整教程

一、前期准备 1.1 获取 DeepSeek API 密钥 注册 DeepSeek 平台 访问 DeepSeek 官方网站(或指定的 API 服务平台,如硅基流动等)。若尚未注册,按照平台指引创建新账号并完成登录。 创建 API 密钥 进入用户控制面板,找到…...

林纳斯·托瓦兹:Linux系统之父 Git创始人

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 林纳斯托瓦兹:Linux之父、Git创始人 一、传奇人物的诞生 1. 早年生活与家…...

8. RabbitMQ 消息队列 + 结合配合 Spring Boot 框架实现 “发布确认” 的功能

8. RabbitMQ 消息队列 结合配合 Spring Boot 框架实现 “发布确认” 的功能 文章目录 8. RabbitMQ 消息队列 结合配合 Spring Boot 框架实现 “发布确认” 的功能1. RabbitMQ 消息队列 结合配合 Spring Boot 框架实现 “发布确认” 的功能1.1 回退消息 2.备用交换机3. API说…...

维港首秀!沃飞长空AE200亮相香港特别行政区

4月13日-16日,第三届香港国际创科展在香港会议展览中心盛大举办。 作为国内领先、国际一流的eVTOL主机厂,沃飞长空携旗下AE200批产构型登陆国际舞台,以前瞻性的创新技术与商业化应用潜力,吸引了来自全球17个国家及地区的行业领袖…...

ffmpeg命令(一):信息查询命令

媒体文件信息查看 命令说明ffmpeg -i input.mp4查看媒体文件基本信息(封装格式、编解码器、时长等)ffprobe input.mp4使用专用工具查看详细信息ffprobe -v error -show_format -show_streams input.mp4输出格式和流的详细信息ffprobe -v quiet -print_f…...

redis6.2.6-prometheus监控

一、软件及系统信息 redis:redis-6.2.6 redis_exporter:redis_exporter-v1.50.0.linux-amd64.tar.gz # cat /etc/anolis-release Anolis OS release 8.9 granfa; 7.5.3 二、下载地址 https://github.com/oliver006/redis_exporter/releases?page…...

MCP认证难题破解指南

一、MCP 认证体系与核心挑战 1.1 认证体系解析 MCP(Microsoft Certified Professional)作为微软认证体系的基础,覆盖操作系统、云服务、开发工具等核心领域。2025 年最新认证体系包含以下关键方向: Azure 云服务: 覆盖 Azure 虚拟机、容器化部署、云原生应用开发等核心技…...

20250415-vue-插槽-默认内容

在外部没有提供任何内容的情况下&#xff0c;可以为插槽指定默认内容。比如有这样一个 <SubmitButton> 组件: <button type"submit"><slot></slot> </button> 如果我们想在父组件没有提供任何插槽内容时再 <button> 内渲染 “…...

Ubuntu离线安装搜狗输入法

1. 下载输入法 下载搜狗输入法 2. 在联网的Ubuntu下载依赖 在联网的ubuntu上下载依赖 创建脚本download.sh mkdir deb-packages cd deb-packages packages"fcitx fcitx-libs libegl-dev libgl-dev libglu1-mesa-dev libglx-dev libgrpc1 libgrpc6 libjsoncpp1 libnss-…...

如何在idea中快速搭建一个Spring Boot项目?

文章目录 前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热启动&#xff08;热部署&#xff09;结语 前言 Spring Boot 凭借其便捷的开发特性&#xff0c;极大提升了开发效率&#xff0c;为 Java 开发工作带来诸多便利。许多大伙伴希望快速…...

itext7 html2pdf 将html文本转为pdf

1、将html转为pdf需求分析 经常会看到爬虫有这样的需求&#xff0c;将某一个网站上的数据&#xff0c;获取到了以后&#xff0c;进行分析&#xff0c;然后将需要的数据进行存储&#xff0c;也有将html转为pdf进行存储&#xff0c;作为原始存档&#xff0c;当然这里看具体的需求…...

边缘计算场景下的模型轻量化:TensorRT部署YOLOv7的端到端优化指南

一、边缘计算场景下的技术挑战与优化路径 在边缘设备&#xff08;如Jetson系列&#xff09;部署YOLOv7需兼顾模型精度、推理速度与功耗限制三重约束。TensorRT作为NVIDIA官方推理加速库&#xff0c;通过算子融合、量化压缩和内存复用等优化技术&#xff0c;可将模型推理速度提…...

golang 在windows 系统的交叉编译

基本交叉编译命令 GOOS目标操作系统 GOARCH目标架构 go build -o 输出文件名 包路径 编译 Linux 64位程序 set GOOSlinux set GOARCHamd64 go build -o myapp-linux main.go 编译 MacOS (Darwin) 64位程序 set GOOSdarwin set GOARCHamd64 go build -o myapp-macos main.go …...

docker compose搭建博客wordpress

一、前言 docker安装等入门知识见我之前的这篇文章 https://blog.csdn.net/m0_73118788/article/details/146986119?fromshareblogdetail&sharetypeblogdetail&sharerId146986119&sharereferPC&sharesourcem0_73118788&sharefromfrom_link 1.1 docker co…...