git基础使用
相关概念
本地仓库:自己电脑上git客户端
远端仓库:管理员端的git服务端
多人协作:文件开源,可以多个人一起修改
前提
1.一个仓库
2.确认git有没有安装
3.把远端仓库clone
这一步执行完后我们执行ll可以看到:
这就是我们的远端仓库,cd命令进入这个仓库,以下的.git文件就是我们的本地仓库
我们拿上级目录测试一下
但即使是这样我们的文件夹也没有被本地仓库管理起来,所以我们还要执行两条指令,一个是让本地仓库管理,一个是添加日志文件,这里注意,在添加空文件夹的时候会有提醒,要提交修改完的文件的时候,也可以使用git add进行本地仓库文件的修改,比如说你原本有10行代码提交到本地仓库了,你在第二天修改多了五行代码,git add提交并不会完全替换文件,把十五行代码全部拷贝上去,而是提交新增的那五行代码
接下来就是推送到远端,输入gitee的账号密码即可推送
这里有一个问题,就是你只写git add这一个命令的时候,他其实并没有推送的,被存放在工作区
必须要加上git commit -m “xxxx”,才能成功推送,可以通过以下这个指令查看当前状态
如果还没应用git push会出现这一行
如果要查看提交记录:
4.gitignore
这个文件可以忽略包含后缀的文件,当我们在创建相关文件的时候,想要git add .,你会发现提交完的文件里面是没有包括这些后缀的,以下是我们如何修改的过程,如果没有这一个过程,只是单纯的vim这个文件并保存,其实是不会修改成功的,还是要像其他文件一样提交并推送
Linux调试器gdb
查看可执行程序二进制构成
可以发现gcc编译里是没有debug信息的,如果要在程序里添加debug,需要带-g选项
可以得到
gdb调试
进入gdb调试
list
在vs调试的时候有图形化界面,我们可以看到代码,但我们所用的linux是没有图形化界面的,所以我们可以通过list(可以简写为l)这个工具来看我们的代码,但我们可以看见这个代码顺序并不是我们平时看到的顺序
所以我们可以带上数字,或者直接回车,gdb会自动显示接下来的代码
l后面还可以跟函数名
run(简写为r)
表示运行程序,如果没有设置断点的话就没有停下来,相当于vs里的F5
breakpoint(简写为b)
表示断点,后接行号/函数名,也可以在文件外进行打断点,可接行号或者函数名
但如果只是单纯的打断点我们是看不见文件中的断点信息的,所以我们还要用info b来看断点信息
如果要删除断点的话,可以用delete breakpoint(简写为d),不能用行号来删,而只能通过断点的编号删除
如果我们在调试的时候突然退出再进来,我们会发现我们设的断点都消失了
打完断点后用run就可以跑起来了
逐过程调试n
使用next(n),然后继续回车,直到程序正常退出,但打的断点还在
逐语句调试s
但这会有一个问题,就是我们会陷入循环当中
我们可以用until 编号结束循环,直到我们需要到达的代码行
如果我们已经进入一个函数,想让一个函数直接跑完,可以用finish
如果我们已经进入了断点1,需要直接到第二个断点,可以用c(continue)
如果不想让断点工作,又不想删除断点,那就要对断点使能,enable和disable
监视窗口p
p
display常显示
当我们在执行调试的时候想让一个信息常显示,可以用display 信息
如果想取消的时候,可以用undisplay+监视编号
set var修改变量
可以修改变量的值
bt查看当前调用栈
这个指令可以查看在调用各级函数的时候的调用链及其参数情况
查看当前函数的私有变量info locals
查看局部变量