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:从一个断点直接运行至下一个断点

相关推荐
xuanzdhc2 小时前
Linux 基础IO
linux·运维·服务器
愚润求学2 小时前
【Linux】网络基础
linux·运维·网络
bantinghy2 小时前
Linux进程单例模式运行
linux·服务器·单例模式
小和尚同志3 小时前
29.4k!使用 1Panel 来管理你的服务器吧
linux·运维
帽儿山的枪手3 小时前
为什么Linux需要3种NAT地址转换?一探究竟
linux·网络协议·安全
shadon1789 天前
回答 如何通过inode client的SSLVPN登录之后,访问需要通过域名才能打开的服务
linux
AWS官方合作商9 天前
AWS ACM 重磅上线:公有 SSL/TLS 证书现可导出,突破 AWS 边界! (突出新功能的重要性和突破性)
服务器·https·ssl·aws
小米里的大麦9 天前
014 Linux 2.6内核进程调度队列(了解)
linux·运维·驱动开发
程序员的世界你不懂9 天前
Appium+python自动化(三十)yaml配置数据隔离
运维·appium·自动化
李boyang9 天前
Git(四):远程操作
git