【Linux】基础开发工具(3)_linux git pull
1. 版本控制器Git
1.1 Git的简史
Git 的历史可以追溯到 2005 年1。当时 Linux 内核项目的开发团队一直使用 BitKeeper 进行版本管理,但由于一位 Linux 开发成员写了一个连接 BitKeeper 仓库的外挂,BitMover 公司决定中止 Linux 免费使用 BitKeeper 的授权1。Linux 团队与 BitMover 磋商无果后,Linux 内核的创始人 Linus Torvalds 决定开发自己的版本管理系统1。
2005 年 4 月 3 日,Linus Torvalds 正式开始开发 Git3。仅仅四天后,他就发布了 Git 的第一个可用版本(0.1),这个初始版本包含了 Git 的核心功能3。在接下来的几周内,Linus 和其他早期贡献者对 Git 进行了快速迭代和改进,逐步完善了其稳定性和功能3。
Git 的设计目标是实现分布式开发,解决现有集中式版本控制工具(如 CVS、Subversion)性能低下、分支管理不灵活以及依赖中央服务器等问题3。它具有所有行为都要校验、操作必须在毫秒级内完成等特性1。
随着开发的深入,Git 逐渐被大众接受1。2008 年 2 月,为 Git 提供托管服务的 GitHub 上线,进一步推动了 Git 的广泛应用1。此后,Git 成为了世界上最流行的分布式版本控制系统之一,被大量的初创企业、集体企业和跨国公司用于维护软件项目的源代码2。
1.2 Git的操作(以下操作是在Centos环境进行的)
1.2.1 安装 git
yum install git
1.2.2 在gitee创建项目
登录gitee创建仓库在创建好的项目页面中复制项目的链接, 以备接下来进行下载
下载项目到本地
创建好一个放置代码的目录
git clone [url]
这里的url就是刚刚创建好的项目链接
1.2.3 git add
git add
命令是一个非常重要的操作,它的主要作用是将工作目录中修改过的文件或新建的文件,添加到暂存区(也称为 “索引”,英文为index
),以便后续提交到版本库中。
git add [文件名]
1.2.4 git commit
git commit
命令用于将暂存区(staging area
,也叫索引 index
)的内容提交到本地版本库,形成一个新的提交对象。
git commit -m \"xxx\"
提交的时候应该注明提交日记, 描述改动的详细内容.
1.2.5 git push
git push
命令用于将本地版本库中分支的提交推送到远程仓库,使得本地的代码变更可以与团队成员共享,或者备份到远程服务器上。
git push
需要填⼊用户名密码. 同步成功后, 刷新 gitee 页⾯就能看到代码改动了.
git提交的时候,只会提交变化的部分!
1.2.6 git pull
git pull
是一个常用命令,它主要用于从远程仓库获取最新代码,并自动尝试将获取到的代码合并到本地当前分支 ,在团队协作和多设备开发场景中发挥着重要作用。
git pull [文件名]
1.2.7 其他
git log //查看仓库的提交历史记录。
git status
显示工作目录、暂存区(也称为 “索引”)和本地仓库之间的状态差异。它能直观地告诉你哪些文件被修改、哪些被添加到暂存区、哪些是未被跟踪的新文件,帮助你在提交代码前了解当前工作进度。
.ignore
.gitignore
是一个至关重要的配置文件,用于指定 Git 应该忽略哪些文件或目录,避免它们被纳入版本控制。这在实际开发中非常实用,比如可以忽略自动生成的文件、编译产物、日志文件等无需版本管理的内容。
2. 调试器 - gdb/cgdb使用
2.1 样例代码
// mycmd.c#include int Sum(int s, int e){ int result = 0; for(int i = s; i <= e; i++) { result += i; } return result;}int main(){ int start = 1; int end = 100; printf(\"I will begin\\n\"); int n = Sum(start, end); printf(\"running done, result is: [%d-%d]=%d\\n\", start, end, n); return 0;}
2.2 预备
程序的发布⽅式有两种, debug 模式和 release 模式, Linux gcc/g++ 出来的⼆进制程 序,默认是 release 模式。 要使⽤gdb调试,必须在源代码⽣成⼆进制程序的时候, 加上 -g 选项,如果没有添加,程序无法被 编译。
2.3 常见使用
开始: gdb binFile 退出: ctrl + d 或 quit 调试命令list/l:显示源代码b:打断点
d:删断点删断点只能根据断点编号来删,gdb不退出,断点编号依次递增。
p:打印指定变量的值
display:指定变量的值常显示
2.4 常见技巧
安装cgdb: 上⾯的基本调试还是⿇烦,虽然是⿊屏,但是还是想看到代码调试 推荐安装cgdb: Ubuntu: sudo apt-get install -y cgdb Centos: sudo yum install -y cgdb
2-4-1 watch
执行时监视⼀个表达式(如变量)的值。如果监视的表达式在程序运行期间的值发生变化,GDB 会暂停程序的执行,并通知使用者。
2-4-2 set var确定问题原因
更改⼀下标志位,假设我们想得到 +-result
2-4-3 条件断点
添加条件断点
注意: 条件断点添加常⻅两种⽅式:1. 新增 2. 给已有断点追加 注意两者的语法有区别,不要写错了。 新增: b 行号/⽂件名:行号/函数名 if i == 30(条件) 给已有断点追加:condition 2 i==30, 其中2是已有断点编号,没有if