Linux第六讲----git与gdb

server/2025/3/18 13:57:18/

 1.创建仓库并上传代码

打开gitee,新建仓库

按下图操作:之后点创建 

 在点击橙色的克隆下载:并复制

 之后登录xshell并进入家目录

输入git clone 右键粘贴

 如下图所示

之后我们进入for_delete

cd for_delete/

创建一个文件,code.c,输入如下内容

之后会发现多了一个.git文件,这个就是我们本地仓库

之后将其添加到仓库里

之后在推送一下

 -m后加你想说的内容

实际上,这一步是将本地仓库与远端的同步一下

之后push一下,输入用户名和密码(gitee账号名和密码)

 如此便将本地代码提交的远端:(没有就刷新一下,可能网络延迟)

2.扩展

1.index

我们进入.git文件下,发现了index文件,这个Index实际上是个暂存区,就是你add后的将代码放置的地方,万一你要是后悔了直接删除就好,之后的commit是将文件从Index推到git中,在由Push从本地仓库推到远端仓库

 2.查看历史信息

输入git log

3.多人协作

倘如我建了一个仓库,现在想和wzd进行协作,那么就让wzd复制一下我们刚才的创建仓库的那个网址,再在她的电脑上新建一个文件夹,之后鼠标右键,git clone,进入如下画面,点Ok

 如此完成了将远端仓库同步到本地

 现在假设我上传了两个工作目录,add ,commit ,push

 现在wzd新建一个文件,想也给加到我的仓库,则应按照如下方法操作:

选浅颜色的那个 git commit->master

之后commit push一下,发现失败了

 原因就是本地仓库和远端仓库的关系不符合

之后pull一下, 将仓库同步一下,然后再push

完成提交 

 此时,倘如我要在想提交一些东西就会这样

原因还是不同步了,所以还是要pull一下

 4. .gitignore

作用:忽略临时文件用的

我们cat .gitignore

所有带以上后缀的文件都会被我们过滤掉 

 检验当前工作区和本地仓库是否一致:

如此,是一致的

对比一下:

 5.调试工具

我们新建code.c

输入 (没有就sudo  apt install gdb下一下,之后出现的粉框按enter就好)

输入后我们发现,我们的程序无法调试!输入quit退出

原因是gcc默认是release发布的,release不能调试,debug才可以 

这样才是debug版本,(gcc后面加-g)

这样便可以调试了,输入gdb mycmd1

 

 注:gdb有历史记录功能,按回车即可显示命令

然后我们试一下cgdb,还是先安装一下

之后输入cgdb mycmd1

按照下方指令进行输入,这里我们选c,进入如下界面

打断点操作

b 行号

 红了就代表打了断点

也可以这样打

或者这样 

查看断点:info b 

 注:在我们一轮调试周期当中,编号是递增的,不会因为你删除某个断点而改变,即使你现在删了,然后在打也不是从1开始的了(要保证在这一周期内)

 删除断点:d 编号(编号是你在打断点的时候显示的,如我这里19行编号为1,4行编号为2

运行调试:r,输入n,就可以继续往下走了


http://www.ppmy.cn/server/175976.html

相关文章

2024年第十五届蓝桥杯软件C/C++大学A组——五子棋对弈

蓝桥杯原题: 题目描述: “在五子棋的对弈中,友谊的小船说翻就翻? ” 不!对小蓝和小桥来说,五子棋不仅是棋盘上的较量,更是心与心之间的沟通。这两位挚友秉承着 “ 友谊第一,比赛第二…

WebSocket和长轮询

WebSocket 原理与实现 原理 WebSocket 是一种在单个TCP连接上进行全双工通信的协议。它允许服务器主动向客户端推送数据,而不需要客户端发起请求。一旦连接建立,客户端和服务器可以随时互相发送消息。 握手阶段:客户端通过HTTP请求升级到W…

告别数据库束缚!用esProc在 csv 文件上执行 SQL

esProc SPL 支持简单 SQL,可以直接在 csv 等结构化文本文件上执行 SQL 语句,这样,不用数据库也可以用 SQL 计算了。 先下载 esProc SPL:免费下载 不想折腾源代码的话,可以用标准版,找到相应版本下载后安装…

用 Vue 3.5 TypeScript 重新开发3年前甘特图的核心组件

回顾 3年前曾经用 Vue 2.0 开发了一个甘特图组件,如今3年过去了,计划使用Vue 3.5 TypeScript 把组件重新开发,有机会的话再开发一个React版本。 关于之前的组件以前文章 Vue 2.0 甘特图组件 下面录屏是是 用 Vue 3.5 TypeScript 开发的目前…

AGI大模型(8):提示词的安全与防护

1 前言 著名的「奶奶漏洞」,⽤套路把 AI 绕懵。 2 常⻅的提示词攻击技术 2.1 同类型⽬标劫持 同类⽬标劫持攻击,特别是在同类型任务的背景下,涉及到攻击者通过⾮法⼿段控制模型,并迫使其执行与原始任务性质相同但⽬标不同的操作…

Linux《进度条》

在之前的Linux基础开发工具当中我们已经了解了vim、gcc、makefile等基本的开发工具,那么有了这些开发工具我们就可以来实现我们Linux旅程当中的第一个程序——进度条。相信通过该项目的实现能让你对vim等开发工具更加的熟悉。一起加油吧!!&am…

时区转换工具

开发一个Python程序,将用户输入的北京日期时间转换为全球多个目标地区的对应时间,支持手动选择地区,并显示开始和结束两个时间段的转换结果 import pytz from datetime import datetime import pandas as pd from tabulate import tabulate …

Python 视频爬取教程

文章目录 前言基本原理环境准备Python安装选择Python开发环境安装必要库 示例 1:爬取简单直链视频示例 2:爬取基于 HTML5 的视频(以某简单视频网站为例) 前言 以下是一个较为完整的 Python 视频爬取教程,包含基本原理…