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.mzph.cn/diannao/60428.shtml

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

相关文章

抓包工具WireShark使用记录

目录 网卡选择: 抓包流程: 捕获过滤器 常用捕获过滤器: 抓包数据的显示 显示过滤器: 常用的显示过滤器: 实际工作中,在平台对接,设备对接等常常需要调试接口,PostMan虽然可以进…

腾讯云双十一重磅福利----下一代CDN-EdgeOne

🍋引言 随着全球互联网的快速发展和网络安全威胁的不断升级,传统的内容分发网络(CDN)已逐渐无法满足高效、安全、灵活的需求。腾讯云的下一代CDN产品—EdgeOne应运而生,凭借其全球化边缘节点架构,为客户提供…

Unity Coroutine

调用函数时,函数将运行到完成状态,然后返回。这实际上意味着在函数中发生的任何动作都必须在单帧更新内发生;函数调用不能用于包含程序性动画或随时间推移的一系列事件。例如,假设需要逐渐减少对象的 Alpha(不透明度&a…

qt QGraphicsProxyWidget详解

1. 概述 QGraphicsProxyWidget 类是 Qt 图形视图框架中的一个关键类,它允许 QWidget 组件被嵌入到 QGraphicsScene 中。QGraphicsProxyWidget 作为一个代理,它在 QGraphicsScene 和 QWidget 之间建立了桥梁,使得 QWidget 可以在 QGraphicsVi…

【数据集】GPM IMERG Daily Precipitation Dataset

目录 数据集概述时空分辨率:数据下载参考数据集概述 Global Precipitation Measurement (GPM) IMERG Daily Precipitation Dataset 简介 Global Precipitation Measurement (GPM) 是由美国国家航空航天局(NASA)和日本宇宙航空研究开发机构(JAXA)联合发起的一项全球降水观…

MySQL 迁移 dm

参考链接 此处为语雀内容卡片,点击链接查看:MySQL 5.7.27 迁移 DM 8 语雀 迁移前准备 以下中的命名,密码都是可修改的,这里给出的就只是一个例子 创建表空间 # 创建表空间名为 dbTest,路径为 Z:\fei\data\dm\dbT…

新版IJidea 如何打开数据库窗口(2024.2.4 版)(连接数据库)

新版IJidea 2024.2.4 如何打开数据库窗口? 方式:使用插件,Database Navigator 1.安装插件,步骤如下: 打开 Settings/Preferences 对话框(快捷键 CtrlAltS)。前往 Plugins 菜单项。在搜索框中…

MySQL:left join后用on与where的区别

一、前言 前几天项目中,写SQL时本想通过 A left B join on and 后面的条件来使查出的两条记录变成一条,奈何发现还是有两条。在此记录一下,on与where的区别。 二、ON 原始数据展示 SELECT t1.*,t2.* FROM t_test_staff t1 left join t_te…

Spark 核心概念与宽窄依赖的详细解析

Spark 的介绍与搭建:从理论到实践_spark环境搭建-CSDN博客 Spark 的Standalone集群环境安装与测试-CSDN博客 PySpark 本地开发环境搭建与实践-CSDN博客 Spark 程序开发与提交:本地与集群模式全解析-CSDN博客 Spark on YARN:Spark集群模式…

【树莓派raspberrypi烧录Ubuntu远程桌面登入树莓派】

提示:本文利用的是Ubuntu主机和树莓派4B开发板,示例仅供参考 文章目录 一、树莓派系统安装下载前准备工作下载安装树莓派的官方烧录软件imagerimager的使用方法 二、主机与树莓SSH连接查看数梅派IP地址建立ssh连接更新树莓派源地址 三、主机端远程桌面配…

MySQL数据库专栏(四)MySQL数据库链接操作C#篇

摘要 本篇文章主要介绍C#链接MySQL数据库的接口介绍,使用实例及注意事项,辅助类的封装及调用实例,可以直接移植到项目里面使用。 目录 1、添加引用 2、接口介绍 2.1、MySqlConnection 2.2、MySqlCommand 2.3、MySqlDataReader…

百度世界2024:AI应用的浪潮时刻

百度AI公式:“技术商业社会”。 作者|金豫 编辑|杨舟 互联网行业正迈入增长瓶颈期,这一点从主要科技巨头,如Meta、Alphabet、腾讯等近年来的表现中可见端倪:广告收入增速放缓,市场渗透率接近饱和。 单纯依赖流量获取…

Linux 通过nmcli配置网络并配置bond(网卡绑定)

Linux 通过nmcli配置网络并配置bond Linux 通过nmcli配置网络并配置bond1. 什么是 Bond 网卡绑定2. Bond 网卡绑定的常见模式3. 通过nmcli配置网络并做网卡绑定 Linux 通过nmcli配置网络并配置bond 1. 什么是 Bond 网卡绑定 Bond 网卡绑定(或 NIC Bonding&#xff…

【Stable Diffusion - Ai】小白入门必看(想控制AI的绘画结果?ControlNet 预处理篇)!真材实料!不卖课!!!

【Stable Diffusion - Ai】小白入门必看(想控制AI的绘画结果?ControlNet 预处理篇)!真材实料!不卖课!!! 对于ControlNet来说,很多人都会感觉到陌生;这个插件…

几何合理的分片段感知的3D分子生成 FragGen - 评测

FragGen 来源于 2024 年 3 月 25 日 预印本的文章,文章题目是 Deep Geometry Handling and Fragment-wise Molecular 3D Graph Generation, 作者是 Odin Zhang,侯廷军,浙江大学药学院。FragGen 是一个基于分子片段的 3D 分子生成模…

【设计模式系列】享元模式(十五)

目录 一、什么是享元模式 二、享元模式的角色 三、享元模式的典型应用场景 四、享元模式在ThreadPoolExecutor中的应用 1. 享元对象(Flyweight)- 工作线程(Worker) 2. 享元工厂(Flyweight Factory)- …

为什么分布式光伏规模是6MW为界点

安科瑞 华楠 近日,能源局发布定义分布式光伏6MW及以上的光伏电站必须自发自用,自行消纳。多省能源局规定大于6MW的电站必须按集中式管理,另外大于6MW(包含)要省级审批,小于则由市级审批,10kV线…

RDD 算子全面解析:从基础到进阶与面试要点

Spark 的介绍与搭建:从理论到实践_spark环境搭建-CSDN博客 Spark 的Standalone集群环境安装与测试-CSDN博客 PySpark 本地开发环境搭建与实践-CSDN博客 Spark 程序开发与提交:本地与集群模式全解析-CSDN博客 Spark on YARN:Spark集群模式…

四万字长文SpringBoot、Spring、SpringMVC等相关面试题(注:该篇博客将会持续维护 最新维护时间:2024年11月12日)

🧸本篇博客重在讲解SpringBoot、Spring、SpringMVC等相关面试题,将会实时更新,欢迎大家添加作者文末联系方式交流 📜JAVA面试题专栏:JAVA崭新面试题——2024版_dream_ready的博客-CSDN博客 📜作者首页&…

02_ElementUI

一.前端工程化 1.1 概述 前端工程化是使用软件工程的方法来单独解决前端的开发流程 中模块化、组件化、规范化、自动化的问题,其主要目的为了 提高效率和降低成本。 1.2 NodeJS的安装 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环 境,可以使 JavaS…