Linux git的基本使用安装提交 和 gdb的使用

目录

安装git

首次使用git的配置

拉取仓库

步骤1:新建仓库

步骤2:复制仓库地址

步骤3:远端仓库拉取到本地

上传代码

常用指令


安装git

sudo apt-get install git # Ubuntu/Debian

sudo dnf install git # Fedora

sudo yum install git # CentOS/RHEL

首次使用git的配置

git的基本配置,在安装完git后,要输入两句指令。

git config --global user.email "gitee绑定的邮箱"

git config --global user.name "你的名字(随便什么名字)"

拉取仓库

步骤1:新建仓库

步骤2:复制仓库地址

打开刚才新建的仓库,点击克隆/下载,复制https路径

步骤3:远端仓库拉取到本地

指令:

git clone 仓库链接

执行完指令后,就会生成一个仓库文件夹,进入仓库文件夹后,会有一个隐藏的文件夹 .git 。 .git 就是本地仓库。不能对里面的任何文件进行修改,否则就会出错。

上传代码

  1. 创建一个文件或者拷贝文件到仓库文件夹下,执行 git add . ,将未管理的文件提交到暂存区中。

2.再执行 git commit -m "提交日志" 提交日志必须填写,并且要认真填写。提交到本地仓库中,提交改动到本地。

3.推送至远端:git push ,输入gitee账户的密码后即可推送至远端仓库,同步到远端服务器上。


常用指令

git log 列出仓库的提交历史。

git status 显示工作目录和暂存区的状态。

git branch branch_name 创建一个新的分支。

git checkout branch_name 切换到指定的分支。

git checkout -b branch_name 创建一个新的分支并立即切换过去。

git merge branch_name 将指定分支合并到当前分支。

git branch -d branch_name删除分支

git remote -v显示所有远程仓库。

git push origin branch_name将本地分支推送到远程仓库。

git pull获取并合并远程仓库的更改。


gdb的使用

gcc默认编译是release发布,想要进入debug模式就要在指令后面添加-g

gcc -o mycode-debug mycode.c -g

进入调试模式

gdb 可执行程序

常用指令

  1. q:退出调试模式(退出调试后,所有断点信息会被自动清理)

  2. **list 或 l:**显示部分代码

  3. list n 或 l n:将第 n 行居中显示上下的代码

  4. list 函数名 或 l 函数名:显示该函数的代码

  5. r:运行程序(运行到第一个断点处就会停下来)

  6. **b n:**在第 n 行打断点

  7. info b:查看断点信息

(1).第一列(Num)表示断点编号

(2).第二列(Type)便是类型

(3).第四列(Enb)表示是否开启,y 表示开启

(4).第五列(Address)表示断点的地址

  1. **info locals:**查看当前栈帧局部变量的值

  2. d Num:删除断点编号为 Num 的断点

  3. n:逐过程调试,不进入函数 (gdb 会自动跳过空行)

  4. s:逐语句调试,会进入函数

  5. p 变量:暂时监视某个变量

  6. display 变量:常显示变量内容

  7. undisplay Num:取消常显示编号为 Num 的常显示

  8. until 行号:直接跳转至指定的行,可以快速运行代码块

  9. finish:在某个函数中时,直接跑完这个函数

  10. c:从一个断点直接运行至下一个断点

相关推荐
日取其半万世不竭6 小时前
用 Portainer 可视化管理 Docker:容器再多也不用背命令了
运维·docker·容器
2023自学中6 小时前
Linux 图形系统
linux
kirs_ur7 小时前
ECC & LDPC — SSD 的数据卫士
服务器·数据库·性能优化
mounter6259 小时前
高性能网络技术演进与创新探索:RDMA、eBPF/XDP 深度解析及 LSF/MM/BPF 2023 专题演讲
linux·ebpf·linux kernel·kernel·rdma·xdp
动恰客流统计9 小时前
ReID边缘计算视觉统计:餐饮店客流增长的数字化破局路径
java·大数据·运维·人工智能
名字还没想好☜9 小时前
Python itertools 实战:用 groupby、chain、islice 优雅处理大数据流
linux·windows·python·迭代器·itertools
ziguo112212 小时前
深入浅出 C/C++ 数据类型:从入门到踩坑
linux·c语言·c++·windows·visual studio
无垠的广袤12 小时前
【工业树莓派 CM0 Dev Board】扩展板设计
linux·python·嵌入式硬件·pcb设计·模块化·传感器
会编程的土豆13 小时前
MySQL 入门:库、表、行、主键是什么
linux·数据库·网络协议·http
砍材农夫13 小时前
运维|devops|jenkins构建应用发布
运维·jenkins·devops