Linux权限和开发工具(3)

news2024/12/23 12:09:51

在这里插入图片描述

文章目录

    • 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.coloradmin.cn/o/2239175.html

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

相关文章

如何在 Django 中生成 Excel 文件并上传至 FastDFS

文章目录 如何在 Django 中生成 Excel 文件并上传至 FastDFS需求背景主要任务 实现步骤 创建 Excel 文件上传 Excel 文件到 FastDFSclient.conf 保存文件 URL 到数据库组合完整的流程总结 如何在 Django 中生成 Excel 文件并上传至 FastDFS 在很多实际应用场景中,我…

电子应用产品设计方案-3:插座式自动温控器设计

一、设计 插座式自动温控器作为一种便捷的温度控制设备,在日常生活和工业应用中发挥着重要作用。它能够根据环境温度的变化自动控制连接设备的电源通断,实现对温度的精确调节和节能控制。本设计旨在提供一种功能强大、易于使用、安全可靠的插座式自动温控…

Redis的常用命令大全

目录 一、Redis简介 1.键值型 2.NoSQL 2.1关联和非关联 2.2查询方式 2.3事务 2.4总结 二、Redis常见命令 2.1 通用命令 2.2 String 命令 2.3 Hash类型 2.4 List类 2.5 Set集合 2.6 SortedSet类型 一、Redis简介 Redis是一种键值型的NoSql数据库,这里…

浅谈PostGIS中的抽稀技术——实现高效空间数据可视化的关键

目录 前言 一、原始数据介绍 1、原始完整数据 2、Qgis中展示原始数据 二、减少数据精度 1、查询函数简介 2、减少精度实战 三、ST_Simplify抽稀实现 1、ST_Simplify函数介绍 2、ST_Simplify抽稀结果 四、ST_SimplifyPreserveTopology抽稀 1、函数介绍 2、抽稀结果 …

网约车管理:规范发展,保障安全与便捷

在数字化时代,网约车已成为城市出行的重要组成部分,为公众提供了前所未有的便捷性。然而,随着网约车行业的迅猛发展,一系列管理问题也随之浮现,如司机资质审核不严、车辆安全标准不一、乘客权益保护不足等。这些问题不…

vue3入门和实战-vue3项目布局

文章目录 前言一、项目目标二、页面布局1.首页布局分析2. 首页布局实现App.vueLayoutIndex.vueLayoutLeft.vueHome.vueHome/components/Header.vueHome/components/Footer.vue3.首页路由4.首页效果显示总结前言 上一节,部署了vue3官方案例,我们需要结合自身项目页面的布局改…

深度学习经典模型之VGGNet

1 VGGNet 1.1 模型介绍 ​ VGGNet是由牛津大学视觉几何小组(Visual Geometry Group, VGG)提出的一种深层卷积网络结构,他们以7.32%的错误率赢得了2014年ILSVRC分类任务的亚军(冠军由GoogLeNet以6.65%的错误率夺得)和…

【364】基于springboot的高校科研信息管理系统

摘 要 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古…

【Windows】CMD命令学习——系统命令

CMD(命令提示符)是Windows操作系统中的一个命令行解释器,允许用户通过输入命令来执行各种系统操作。 系统命令 systeminfo - 显示计算机的详细配置信息。 tasklist - 显示当前正在运行的进程列表。 taskkill - 终止正在运行的进程。例如&am…

深入探索Waymo自动驾驶技术发展:从DARPA挑战赛到第五代系统的突破

引言 自动驾驶技术正引领着未来出行方式的革命,而Waymo作为全球自动驾驶领域的先锋,始终走在技术发展的最前沿。本文基于Waymo联席CEO德米特里多尔戈夫(Dmitri Dolgov)在No Priors节目中的访谈,全面介绍Waymo的技术发展…

泷羽sec学习打卡-Windows基础virus

声明 学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 关于windows virus的那些事儿 一、Windows-Virus资源耗尽之无限弹窗cmd-virus测试锁机virus测试无限重启…

python机器人Agent编程——实现一个本地大模型和爬虫结合的手机号归属地天气查询Agent

目录 一、前言二、准备工作三、Agent结构四、python模块实现4.1 实现手机号归属地查询工具4.2实现天气查询工具4.3定义创建Agent主体4.4创建聊天界面 五、小结PS.扩展阅读ps1.六自由度机器人相关文章资源ps2.四轴机器相关文章资源ps3.移动小车相关文章资源ps3.wifi小车控制相关…

如何线程安全的使用HashMap

前言 Map一直是面试中经常被问到的问题。博主在找工作的过程中,就被问到了这样一个问题: Map是线程安全的吗?我不考虑使用线程安全的Map(eg:ConcurrentHashMap) 。如何在多线程/高并发下安全使用 HashMap? 当时博主…

基于MATLAB+opencv人脸疲劳检测

我们可以通过多种方式从现实世界中获取数字图像,比如:数码相机、扫描仪、计算机扫描和磁共振成像等等。在这些情况中,虽然我们肉眼看到的是图像,但是当需要将图像在数字设备中变换传输时,图像的每个像素则对应一个数值…

区块链技术在知识产权保护中的应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 区块链技术在知识产权保护中的应用 区块链技术在知识产权保护中的应用 区块链技术在知识产权保护中的应用 引言 区块链技术概述 …

交友系统app源码优势,怎么去开发一个交友系统,它适合的场景

https://gitee.com/fantnerd/hunlian.githttps://gitee.com/fantnerd/hunlian.git 语音交友app源码技术优势: 1、语音交友app源码服务端开发语言采用PHP。 2、服务端开发框架主要TP6 3、开发环境:Nginx或者Apache 数据库mysql5.6。 交友程序源码的开发…

mac 中python 安装mysqlclient 出现 ld: library ‘ssl‘ not found错误

1. 出现报错 2. 获取openssl位置 brew info openssl 3. 配置环境变量(我的是在~/.bash.profile) export LDFLAGS"-L/opt/homebrew/Cellar/openssl3/3.4.0/lib" export CPPFLAGS"-I/opt/homebrew/Cellar/openssl3/…

qt QClipboard详解

1、概述 QClipboard是Qt框架中的一个类,它提供了对窗口系统剪贴板的访问能力。剪贴板是一个临时存储区域,通常用于在应用程序之间传递文本、图像和其他数据。QClipboard通过统一的接口来操作剪贴板内容,使得开发者能够方便地实现剪切、复制和…

第3篇 滑动开关控制LED__ARM汇编语言工程<一>

Q:如何设计实现滑动开关控制LED的ARM汇编程序呢?与Nios II汇编语言有何不同呢? A:基本原理:该应用程序用到DE1-SoC开发板上的10个红色LED、10个滑动开关SW和4个按钮开关。DE1-SoC_Computer system的qsys系统中IP的硬件…

Jenkins安装自定义插件

看到这个博客,你可能遇到跟我一样的问题:直接使用jenkins插件时,在线安装的插件可能版本不符合要求。 怎么办呢 找到相关插件的版本 https://plugins.jenkins.io/build-name-setter/ 下载相应版本 安装