文章目录
- 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. 如何理解版本控制
我们在做项目的时候可能会遇到对自己的修改不满意,想要回到上一个版本时候,就需要对自己完成一个阶段,对当前阶段进行备份,就方便我们后续进行版本回退了
将这些版本放到文件夹中就叫做仓库 所以仓库本身就是文件夹
那如果我们将这些步骤写成一个自动化程序(软件),就叫做版本控制器
其原理如下:
- git是一个底层的版本控制器软件
- GitHub和gitee基于gitee的网站或平台
2. Git的操作
2.1 Git安装
git version
查看是否按照git
sudo yum install -y git
安装git
2.2 Git提交身份
首次使用时可能会进行报错:
这里直接运行下面两条指令进行配置用户名和邮箱:
git config --global user.email "your_email@example.com"
git config --global user.name "Your Name"
2.3 Git提交命令
git
的操作将变化的部分提交上去,而并不是全部提交上去
git clone 仓库链接
将远端仓库拉取到本地git add 文件名
提交文件到缓存区git commit -m "日志信息"
将缓存区提交到gitee上git status
查看缓存区文件
-
git log
可以查看提交的记录信息 -
git push
提交文件到远端仓库 -
git pull
远端仓库和本地仓库进行同步
所以提交步骤如下:
2.4 Git版本管理
git管理只进行源文件的管理,而不是直接将库和临时文件直接提交到gitee上
我们可以用.gitignore
文件来忽略这些文件
2.5 Git下的同步
如果我们Linux进行更新,在Windows如果没有进行更新,就会冲突
来提醒本地用户要与远端仓库进行同步了
这就是我们初步了解git的全部内容后续会有更全面的git使用
3. gdb命令
Linux中我们用gcc
编译成的程序默认为release并不能直接进行调试
加上-g
后的程序可以执行但是文件也会大一些,让生成的程序带上调试信息(debug模式)
程序要调试必须时debug模式
3.1解决gdb的难用问题
其实原本的gdb是非常难用的,因为无法将代码和调试信息同时看到
那么cgdb
就可以同时看到了,而且cgdb
和gdb
的使用方法是一样的
3.2 gdb/cgdb的使用
l
查看文件内容l -文件名
打开指定文件- 执行命令
r
将程序运行,直到第一个断点处或者直到程序结束 也可以重新运行程序c
运行到下一个断点处s
逐语句执行n
逐过程执行finish
进入到函数后可以直接跳出函数到下一步until 行数
可以进行局部区域快速跳转
- 短点的指令(断点本质上是将代码进行块级别的划分,以块为区域进行快速定位出问题的区域)
b 文件名:行号/函数名
在指定文件中的行号或者函数名的位置打上断点b 行号
在打开的文件中指定的行号直接打上断点info b
查看所以断点位置和编号(gdb如果不退出断点编号递增,退出就重置了)d 断点编号
可以进行删除断点disable 断点编号
可以将断点禁用掉enable 断点编号
将断点重新启用
- 监视变量
p 变量
临时查询一个变量的值display 变量
监视变量数据undisplay 变量编号
取消监视变量数据info local
查询当前所有的临时变量的值watch 变量
当变量的值发生变化的时候进行提醒
set val 修改数据
将变量的值直接更改,并且计算出更改后的运行结果b 行号 变量 == n
条件断点当变量等于n的时候停止condition 断点号 变量 = 值n 当程序执行到指定断点号时,只有当
x`等于n时,程序才会暂停。cgdb
用ESC
进入代码屏幕 用i
可以返回操作屏幕