Linux权限和开发工具(3)

在这里插入图片描述

文章目录

    • 1. 简单理解版本控制器Git
      • 1. 如何理解版本控制
    • 2. Git的操作
      • 2.1 Git安装
      • 2.2 Git提交身份
      • 2.3 Git提交命令
      • 2.4 Git版本管理
      • 2.5 Git下的同步
  • 3. gdb命令
    • 3.1解决gdb的难用问题
    • 3.2 gdb/cgdb的使用

1. 简单理解版本控制器Git

1. 如何理解版本控制

我们在做项目的时候可能会遇到对自己的修改不满意,想要回到上一个版本时候,就需要对自己完成一个阶段,对当前阶段进行备份,就方便我们后续进行版本回退了

将这些版本放到文件夹中就叫做仓库 所以仓库本身就是文件夹

那如果我们将这些步骤写成一个自动化程序(软件),就叫做版本控制器

其原理如下:

image-20241109220701973

  1. git是一个底层的版本控制器软件
  2. GitHub和gitee基于gitee的网站或平台

2. Git的操作

2.1 Git安装

git version查看是否按照git

sudo yum install -y git安装git

2.2 Git提交身份

首次使用时可能会进行报错:

a2b94f71-b93e-487c-b54d-3d0402a5f0fd

这里直接运行下面两条指令进行配置用户名和邮箱:

git config --global user.email "your_email@example.com"
git config --global user.name "Your Name"

2.3 Git提交命令

git 的操作将变化的部分提交上去,而并不是全部提交上去

  1. git clone 仓库链接将远端仓库拉取到本地
  2. git add 文件名提交文件到缓存区
  3. git commit -m "日志信息"将缓存区提交到gitee上
  4. git status查看缓存区文件

image-20241109225417640

  1. git log可以查看提交的记录信息

  2. git push提交文件到远端仓库

  3. git pull远端仓库和本地仓库进行同步

所以提交步骤如下:

image-20241109231159334

2.4 Git版本管理

git管理只进行源文件的管理,而不是直接将库和临时文件直接提交到gitee上

我们可以用.gitignore文件来忽略这些文件

2.5 Git下的同步

如果我们Linux进行更新,在Windows如果没有进行更新,就会冲突

来提醒本地用户要与远端仓库进行同步了

image-20241109234815243

这就是我们初步了解git的全部内容后续会有更全面的git使用

3. gdb命令

Linux中我们用gcc编译成的程序默认为release并不能直接进行调试

image-20241110000233451

加上-g后的程序可以执行但是文件也会大一些,让生成的程序带上调试信息(debug模式)

程序要调试必须时debug模式

3.1解决gdb的难用问题

其实原本的gdb是非常难用的,因为无法将代码和调试信息同时看到

那么cgdb就可以同时看到了,而且cgdbgdb的使用方法是一样的

3.2 gdb/cgdb的使用

  1. l查看文件内容 l -文件名打开指定文件
  2. 执行命令
    1. r 将程序运行,直到第一个断点处或者直到程序结束 也可以重新运行程序
    2. c 运行到下一个断点处
    3. s 逐语句执行
    4. n 逐过程执行
    5. finish 进入到函数后可以直接跳出函数到下一步
    6. until 行数 可以进行局部区域快速跳转
  3. 短点的指令(断点本质上是将代码进行块级别的划分,以块为区域进行快速定位出问题的区域)
    1. b 文件名:行号/函数名 在指定文件中的行号或者函数名的位置打上断点
    2. b 行号 在打开的文件中指定的行号直接打上断点
    3. info b 查看所以断点位置和编号(gdb如果不退出断点编号递增,退出就重置了)
    4. d 断点编号 可以进行删除断点
    5. disable 断点编号 可以将断点禁用掉
    6. enable 断点编号 将断点重新启用
  4. 监视变量
    1. p 变量 临时查询一个变量的值
    2. display 变量 监视变量数据
    3. undisplay 变量编号 取消监视变量数据
    4. info local 查询当前所有的临时变量的值
    5. watch 变量 当变量的值发生变化的时候进行提醒
  5. set val 修改数据 将变量的值直接更改,并且计算出更改后的运行结果
  6. b 行号 变量 == n 条件断点当变量等于n的时候停止
  7. condition 断点号 变量 = 值n 当程序执行到指定断点号时,只有当x`等于n时,程序才会暂停。
  8. cgdbESC进入代码屏幕 用i可以返回操作屏幕

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

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

相关文章

多线程和线程同步复习

多线程和线程同步复习 进程线程区别创建线程线程退出线程回收全局写法传参写法 线程分离线程同步同步方式 互斥锁互斥锁进行线程同步 死锁读写锁api细说读写锁进行线程同步 条件变量生产者消费者案例问题解答加强版生产者消费者 总结信号量信号量实现生产者消费者同步-->一个…

WSL 2 中 FastReport 与 FastCube 的设置方法与优化策略

软件开发人员长期以来一直在思考这个问题:“我们如何才能直接在 Windows 中运行 Linux 应用程序,而无需使用单独的虚拟机?” WSL 技术为这个问题提供了一个可能的答案。WSL 的历史始于 2016 年。当时,其实现涉及使用 Windows 内核…

【前端】HTML标签汇总

目录 展示用户信息的标签 1.文本标签 span 2.标题标签 h1~h6 3.竖着布局的标签 div 4.段落标签 p 5.超链接标签 a 5.1跳转至网上的资源 5.2锚点 6.列表标签 6.1有序列表 ol 6.2无序列表 ul 7.图片标签 img 7.1相对路径 7.1.1兄弟关系 7.1.2叔侄关系 7.1.3表兄弟…

海外云手机在出海业务中的优势有哪些?

随着互联网技术的快速发展,海外云手机已在出海电商、海外媒体推广和游戏行业都拥有广泛的应用。对于国内的出海电商企业来说,短视频引流和社交平台推广是带来有效流量的重要手段。借助云手机,企业能够更高效地在新兴社交平台上推广产品和品牌…

电脑提示xinput1_3.dll丢失怎么办?游戏DLL修复方法详解

xinput1_3.dll 是一个动态链接库(DLL)文件,它在Windows操作系统中扮演着重要的角色,特别是在处理游戏控制器和其他输入设备的交互方面。这个文件是Microsoft DirectX软件包的一部分,DirectX是微软公司开发的一个多媒体…

Spring资源加载模块,原来XML就这,活该被注解踩在脚下 手写Spring第六篇了

这一篇让我想起来学习 Spring 的时&#xff0c;被 XML 支配的恐惧。明明是写Java&#xff0c;为啥要搞个XML呢&#xff1f;大佬们永远不知道&#xff0c;我认为最难的是 XML 头&#xff0c;但凡 Spring 用 JSON来做配置文件&#xff0c;Java 界都有可能再诞生一个扛把子。 <…

讲讲关于SNMP与智能PDU插座

什么是SNMP 简单网络管理协议 (SNMP) 是一种应用层协议&#xff0c;主要用于网络管理中的设备监控和控制。通过 SNMP&#xff0c;网络管理员可以从管理站远程访问网络中的设备&#xff0c;获取设备的状态信息、配置参数&#xff0c;甚至控制设备的行为。SNMP 被广泛应用于 TCP/…

丹摩征文活动 | Kolors入门:从安装到全面活用的对比指南

文章目录 1 图像生成模型 Kolors2 部署流程3 部署服务3.1 安装 Anaconda3.2 Kolors 库下载3.3 创建虚拟环境 4 生成图片 1 图像生成模型 Kolors Kolors是由快手团队开发的大规模文本到图像生成模型&#xff0c;以其独特的潜在扩散技术而闻名。 Kolors通过在数十亿对文本和图像…

【go从零单排】通道select、通道timeout、Non-Blocking Channel Operations非阻塞通道操作

&#x1f308;Don’t worry , just coding! 内耗与overthinking只会削弱你的精力&#xff0c;虚度你的光阴&#xff0c;每天迈出一小步&#xff0c;回头时发现已经走了很远。 &#x1f4d7;概念 select 语句是 Go 的一种控制结构&#xff0c;用于等待多个通道操作。它类似于 s…

信息安全工程师(83)Windows操作系统安全分析与防护

一、Windows操作系统安全分析 系统漏洞&#xff1a; Windows操作系统由于其复杂性和广泛使用&#xff0c;可能存在一些已知或未知的漏洞。这些漏洞可能会被黑客利用&#xff0c;进行恶意攻击。微软会定期发布系统更新和补丁&#xff0c;以修复这些漏洞&#xff0c;提高系统的安…

计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议

文章目录 一、TCP/IP五层模型&#xff08;重要&#xff09;二、应用层常见的协议三、TCP与UDP3.1 TCP、UDP的区别&#xff08;重要&#xff09;3.2 运行于TCP、UDP上的协议3.3 TCP的三次握手、四次挥手3.3.1 TCP的三次握手3.3.2 TCP的四次挥手3.3.3 随机生成序列号的原因 四、T…

BFD8122防爆轻便移动工作灯

BFD8122防爆轻便移动工作灯 适用范围&#xff1a; 适用于炼油、化工、油田等易燃易爆场所小范围施工、检修、抢险应急照明。 结构特性 高亮度&#xff0c;灯具光通量&#xff1e;4000lm&#xff0c;6米中心照度&#xff08;聚光&#xff09;&#xff1e;1000lx&#xff0c;…

天地图入门|标注|移动飞行|缩放,商用地图替换

“天地图”是国家测绘地理信息局建设的地理信息综合服务网站。集成了来自国家、省、市&#xff08;县&#xff09;各级测绘地理信息部门&#xff0c;以及相关政府部门、企事业单位 、社会团体、公众的地理信息公共服务资源&#xff0c;如果做的项目是政府部门、企事业单位尽量选…

分布式----Ceph部署(上)

目录 一、存储基础 1.1 单机存储设备 1.2 单机存储的问题 1.3 商业存储解决方案 1.4 分布式存储&#xff08;软件定义的存储 SDS&#xff09; 1.5 分布式存储的类型 二、Ceph 简介 三、Ceph 优势 四、Ceph 架构 五、Ceph 核心组件 #Pool中数据保存方式支持两种类型&…

linux详解,基本网络枚举

基本网络枚举 一、基本网络工具 ifconfig ifconfig是一个用于配置和显示网络接口信息的命令行工具。它可以显示网络接口的P地址、子网掩码、MC地址等信息&#xff0c;还可以用于启动、停止或配置网络接口。 ip ip也是用于查看和管理网络接口的命令。 它提供了比ifconfig更…

组件间通信(组件间传递数据)

组件间通信(组件间传递数据) 在 Vue.js 中&#xff0c;组件间通信是开发者需要经常处理的任务&#xff0c;特别是在构建具有多层次组件的复杂应用时。根据组件之间的关系和数据流的复杂程度&#xff0c;可以采用不同的通信方式。以下是常用的几种组件间通信方式&#xff1a; …

深度学习-图像评分实验(TensorFlow框架运用、读取处理图片、模型建构)

目录 0、实验准备 ①实验环境 ②需要下载的安装包 ③注意事项&#xff08;很关键&#xff0c;否则后面内容看不懂&#xff09; ④容易出现的问题 1、查看数据并读取数据。 2、PIL库里的Image包进行读取&#xff08;.resize更改图片尺寸&#xff0c;并将原始数据归一化处…

全球碳循环数据集(2000-2023)包括总初级生产力、生态系统净碳交换和生态系统呼吸变量

全球碳循环数据集&#xff08;2000-2023&#xff09; 数据介绍 PFTs_XGB FLUX 是一个基于 XGBOOST 机器学习模型的全球碳循环数据集。该数据集通过对全球植被功能类型&#xff08;PFTs&#xff09;的分类&#xff0c;结合了 FLUXNET、AmeriFlux 和 ICOS 通量站点的现场观测数据…

前端代码分析题(选择题、分析题)——this指向、原型链分析

this指向 普通函数&#xff1a;this 的指向由调用方式决定&#xff0c;可以是全局对象、调用该函数的对象&#xff0c;或者显式指定的对象。箭头函数&#xff1a;this 的指向在定义时确定&#xff0c;始终继承自外层函数作用域的 this&#xff0c;不会被调用方式影响。 var obj…

【SpringBoot】18 上传文件到数据库(Thymeleaf + MySQL)

Git仓库 https://gitee.com/Lin_DH/system 介绍 使用 Thymeleaf 写的页面&#xff0c;将&#xff08;txt、jpg、png&#xff09;格式文件上传到 MySQL 数据库中。 依赖 pom.xml <!-- https://mvnrepository.com/artifact/com.mysql/mysql-connector-j --><depende…