Linux 开发工具(六) 版本管理器git的简单使用

发布时间:2026/10/25 1:57:55

Linux 开发工具(六) 版本管理器git的简单使用 目录一. 简单认识一下 git1.1 本地仓库和远端仓库1.2 去中心化、分布式的版本控制二. git 实操2.1 git 的创建仓库2.2 拉取远端的仓库到本地仓库2.2.1 .git2.2.2 代码版本的修改2.3 在本地仓库添加新的文件2.3.1 工作区和本地仓库2.3.2 添加文件(续)2.3.2.1 git add 和暂存区2.3.2.2 git status2.3.2.3 git commit -m 和 git log2.4 推向远端仓库2.4.2 git push三. git的细节补充3.1 git 的命令行安装3.2 第一次使用git3.3 .gitignore3.4 多用户使用远端仓库3.4.1 git pull一. 简单认识一下 git1.1 本地仓库和远端仓库Git 通过本地仓库和远程仓库实现代码的版本管理与共享。开发者可以在本地独立管理代码及其历史版本也可以借助 GitHub、Gitee 等平台同步代码方便团队成员进行多人协作开发。1.2 去中心化、分布式的版本控制Git 是一个分布式版本控制工具每个开发者都可以通过本地仓库独立管理代码版本。开发者之间既可以通过 GitHub、Gitee 等平台上的远程仓库同步代码也可以直接从对方的 Git 仓库获取代码。因此Git 不依赖中央服务器也能进行版本管理和代码共享。二. git 实操2.1 git 的创建仓库2.2 拉取远端的仓库到本地仓库git clone https://gitee.com/zspnslzx/test-will-be-deleted.git #这条命令的作用是将 Gitee 上的远程 Git 仓库克隆到自己的本地电脑中。 当前目录/ └── test-will-be-deleted/ ├── .git/ ← 本地 Git 仓库保存版本管理信息 ├── README.md ← 项目文件 └── ...2.2.1 .git打开拉取下来的远端仓库我们会发现里面有一个隐藏目录.git严格来说这才是真正的本地仓库。我们会发现.git下有很多信息这些都是什么呢.git/ ├── objects/ ← 保存 Git 对象包括提交、文件内容等 ├── refs/ ← 保存分支、标签等引用信息 ├── HEAD ← 记录当前检出的分支或提交 ├── index ← 暂存区信息 ├── config ← 仓库配置信息 └── ...总结一下.git主要保存 Git 已经记录的代码版本、提交历史、分支、暂存区及配置信息是 Git 实现版本管理的核心。2.2.2 代码版本的修改我们之前对代码版本修改的理解是我先保存好版本A再到版本A的基础上修改成版本B再保存。但是实际上并不是这样。git 只会提交我们修改的部分打个比方我修改了第100行代码他只会记录第100行代码被修改而不是把整个源码都记了下来一般记录到objects目录下2.3 在本地仓库添加新的文件如图我在拉取的仓库下添加了一个文件 test.cpp那么这个文件有没有被本地仓库管理呢2.3.1 工作区和本地仓库在回答上面的问题之前我们先来认识一下两个概念工作区和本地仓库本地仓库这个我们之前提到过拉取目录下的隐藏目录.git才是真正的本地仓库。工作区指我们克隆到本地的项目目录中用于存放和修改项目文件的区域不包括.git目录本身2.3.2 添加文件(续)2.3.2.1 git add 和暂存区回到上面的问题答案是并没有被本地仓库管理我们还需要一系列操作才行。git add test.cpp#git add将工作区中指定文件的修改添加到暂存区为提交做准备。但是要注意的是 git add 也只是将文件存入暂存区这一步还没有放入本地仓库我们还需要git addmit2.3.2.2 git statusgit statusgit status 用于查看当前 Git 仓库的状态了解工作区和暂存区中文件的变化情况。git status 查看文件时常见的有以下几种状态状态含义Untracked未跟踪新创建的文件还没有被 Git 跟踪Unmodified未修改文件已被 Git 跟踪但没有发生变化Modified已修改已跟踪的文件发生了修改但修改尚未暂存Staged已暂存文件的变化已经通过git add添加到暂存区2.3.2.3 git commit -m 和 git loggit commit -m 有效信息#git commit -m将暂存区中的内容提交到本地仓库形成一个新的历史版本#其中 -m 用于指定本次提交的说明信息。为什么推荐git commit带上选项 -m,并且信息必须是有效的Git 的提交记录会保存在版本历史中其他人克隆包含这些提交的仓库后也能通过git log查看。因此每次提交都应该认真填写提交说明。git log#用于查看 Git 本地仓库的历史提交记录包括每次提交的提交编号、提交者、提交时间和提交说明等信息。2.4 推向远端仓库2.4.2 git pushgit push#用于将本地仓库中的提交记录推送到远程仓库如 Gitee、GitHub实现代码和版本历史的同步。输入gitee的账号密码即可完成向远端仓库的推送我们也可以验证一下三. git的细节补充3.1 git 的命令行安装之前讲包管理器的时候我们提到过怎么安装软件这里就不在多说ubuuntu环境 sudo apt install -y git centos环境 sudo yum install -y git3.2 第一次使用git我们第一次使用git时往往会提醒我们输入用户名和邮箱Git 首次配置用户名和邮箱本质上是为当前用户设置默认的代码提交者信息。Git 会保存这些信息后续提交时直接读取。如果切换 Linux 用户新用户通常需要配置自己的信息。3.3 .gitignore一般来说git版本管理只管理源文件并不包括各种临时文件。git本身也提供一种文件忽略机制用于指定哪些文件或目录不需要被 git 管理。就是项目目录下的 .gitignore文件。我们也可以用vim访问一下.gitignore我们也可以验证一下我先创建了一个test.apk文件再用 git add 添加到暂存区会发现结果失败了3.4 多用户使用远端仓库现实生活中可能会有多个用户使用同一个库那么冲突就不可比避免。假设用户 A 和 B 共同使用一个远端仓库A 修改了test1.cpp并成功推送到远端仓库B 修改了test2.cpp并提交到本地仓库。此时 B 执行git push由于远端仓库已经有了 A 的新提交而 B 的本地仓库没有这些提交因此 B 的推送会被拒绝需要先通过git pull获取并整合远端最新代码再重新推送。3.4.1 git pullgit pull#用于从远端仓库获取最新的代码和提交记录并将其整合到当前本地分支中。
延伸阅读

更多相关文章

2026/10/25 1:52:54

为什么越来越多的大厂抛弃 MCP,转向 CLI?

💡 很多 Java 同学都有一个疑惑:背了几百道八股文,刷了一堆面试题,可面试依旧频频挂掉? 不是你知识点记不住,而是面试官早就变了考核思路! 以前面试官可能会问:什么是 JVM 内存模型&…

2026/10/25 2:47:59

预应力混凝土仿真:等效荷载法与实体力筋法选型及APDL实现

简介:这份文档面向结构工程与有限元分析人员,聚焦ANSYS中预应力混凝土(有粘结)的建模方法,帮助读者在等效荷载法与实体力筋法之间做出合理选择。内容围绕两种方法的原理、优缺点与适用场景展开,并给出实体力…

2026/10/25 2:47:59

电子政务OA系统建设方案:国产化适配与工作流引擎落地指南

简介:这份电子政务OA系统建设方案文档面向政府机构信息化负责人、系统集成商及政务软件开发人员,用于指导办公自动化系统的规划、设计与落地实施。资源包共1个doc文件,约6MB,内容以方案正文与目录结构为主,便于直接查阅…

2026/10/25 2:47:59

RPM数据库损坏修复:真伪判断、重建流程与根因排查

凌晨两点多收到告警,值班同事连上去一看,整台机器上跟包管理沾边的命令全瘫了:rpm -qa卡在那里不返回,yum一敲就吐出一长串BDB0113和BDB1507的报错,连ls /var/lib/rpm都看得出不对劲。当时最直接的应急手段就是重建 RP…

2026/10/25 2:47:58

Redis热点Key问题全解析:从监控识别到方案选型与落地实操

1. 热点Key到底是个什么问题线上系统跑得好好的,突然某一段时间接口响应时间从十几毫秒飙到几百毫秒,监控面板上某台缓存实例的CPU曲线直接拉满,其他几台却闲得发慌。这种场景我遇到过不止一次,排查到最后,十有八九都指…

2026/10/25 2:47:58

深入解析Mach-O文件加载命令与内存映射机制

1. Mach-O文件格式与加载命令基础Mach-O作为macOS和iOS系统可执行文件的标准格式,其核心结构由三部分组成:头部(Header)、加载命令(Load Commands)和段数据(Segment Data)。其中加载…

2026/10/25 2:42:58

AI Agent智能衣架:传感技术、轻量化模型与低功耗设计

1. 智能衣架:当传统家居遇上AI Agent去年冬天,我衣柜里那件心爱的羊毛大衣因为存放不当出现了霉味,送到干洗店花了两百多块才处理好。这件事让我开始思考:为什么我们的衣架不能更"聪明"些?如今市面上的智能衣…

2026/10/25 0:02:22

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/25 0:02:23

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/25 0:02:23

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/25 0:02:22

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/25 0:02:23

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/25 0:02:23

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑