news 2026/10/30 6:35:11

【git原理与使用】git初识与安装

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【git原理与使用】git初识与安装

文章目录

  • 1. 提出问题
  • 2. 解决方法——版本控制器
  • 3. git安装

之前Linux系统编程专栏中,我们通过一篇文章简单介绍过git的基本使用,本专栏我们将来正式全面深入地学习git,本专栏目标:

掌握 Git 企业级应用,深刻理解Git操作过程与操作原理,理解工作区,暂存区,版本库的含义
• 技术目标: 掌握 Git 版本管理,自由进行版本回退、撤销、修改等Git操作方式与背后操作原理
• 技术目标: 掌握 Git 分支管理,从分支创建,切换,合并,删除的整个生命周期,灵活进行各种场景下的分支管理,学习常见分支管理策略
• 技术目标: 掌握 Git 远程仓库与本地仓库,结合版本管理与分支管理,做到基于分支级的个人级开发
• 技术目标: 理解分布式版本控制系统,学习远程仓库与本地仓库的交互操作,掌握多人协作开发模式
• 协作目标:学习企业级常见分支策略(master/release/develop/feature/hotfix等),理解不同公
司,不同环境下适合的分支模型。结合案例,引入工程师,测试人员,技术经理等角色,展现项目开发过程的全貌,深刻理解开发的整体流程,俯视Git在其中的作用

1. 提出问题

不知道你工作或学习时,有没有遇到这样的情况:

比如在学校给老师交实验报告或者论文,你第一次交上去,老师说不行,你再修改修改;然后你把修改之后的第二个版本交上去,老师说还有一些小问题,再去修改;然后你又修改,修改之后把第三个版本交上去;老师看了看说,怎么越改越差了,再去修改;你又改了改,然后拿着第四个版本交上去,老师一看说:不行啊,时间快截止了,我看你第二次写的还差不多,要不你把第二次写的交上来吧。
这时,如果你每次都是直接修改,没有保存之前的旧版本,那你就难办了,第二个版本,这可怎么找啊!
有了这次的经验教训,下次编写各种文档时,为了防止文档丢失,更改失误,失误后能恢复到原来的版本,你不得不复制出一个副本,比如:
“报告-v1”
“报告-v2”
“报告-v3”
“报告-确定版”
“报告-最终版”
“报告-究极进化版”
…
每个版本有各自的内容,但最终会只有一份报告需要被我们使用 。
但在此之前的工作都需要这些不同版本的报告,于是每次都是复制粘贴副本,产出的文件就越来越多,文件多不是问题
问题是:随着版本数量的不断增多,你还记得这些版本各自都是修改了什么吗?
文档如此,我们写的项目代码,亦然!!

2. 解决方法——版本控制器

因为有上面这些问题的存在,所以版本控制器就诞生了:

为了能够更方便我们管理这些不同版本的文件,便有了版本控制器。
所谓的版本控制器,就是能让你了解到一个文件的历史,以及它的发展过程的系统。
通俗的讲就是一个可以记录工程的每一次改动和版本迭代的一个管理系统,同时也方便多人协同作业。
目前最主流的版本控制器就是 Git 。
Git 可以控制电脑上所有格式的文件,例如 doc、excel、dwg、dgn、rvt等等。对于我们开发人员来说,Git 最重要的就是可以帮助我们管理软件开发项目中的源代码文件

注意事项

还需要再明确一点,所有的版本控制系统,Git 也不例外,其实只能跟踪文本文件的改动,比如TXT 文件,所有的程序代码等等。版本控制系统可以告诉你每次的改动,比如在第5行加了一个单词“Linux”,在第8行删了一个单词 “Windows”。
而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB,但到底改了啥,版本控制系统不知道,也没法知道。

3. git安装

# 1. 更新软件包索引sudoaptupdate# 2. 安装 gitsudoaptinstallgit-y# 3. 验证安装git--version


能查到版本号,就是安装成功了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/30 6:32:58

自学C语言笔记

占位符%d 以十进制的形式打印整数%c 打印字符%f 打印小数%s 打印字符串%zu 打印sizeof计算的结果%p 打印地址int 整型char 字符类型转义字符:\n 换行\0 字符串的结束标志\t ‌作用是水平对齐数据类型:①内置类型:字符型:char整型…

作者头像 李华
网站建设 2026/10/30 6:20:40

Java开发同城KTV预约系统:Spring Boot与Redis实战

1. 项目概述"Java打造同城:自助KTV线上预约新体验源码"是一个基于Java技术栈开发的线上KTV预约系统。这个项目主要解决传统KTV行业面临的预约效率低、资源分配不均等问题,通过互联网技术实现同城KTV资源的线上化管理和预约。作为一个全栈Java项…

作者头像 李华
网站建设 2026/10/30 6:13:25

边缘AI革命:LFM2.5-8B-A1B-GGUF在设备端部署的10个实用技巧

边缘AI革命:LFM2.5-8B-A1B-GGUF在设备端部署的10个实用技巧 LFM2.5-8B-A1B-GGUF是Liquid AI开发的新一代混合模型,专为边缘AI和设备端部署设计,在质量、速度和内存效率方面树立了新标准。本文将分享10个实用技巧,帮助新手和普通用…

作者头像 李华
网站建设 2026/10/30 6:12:27

从代码到实践:ZTM零信任网格中的访问控制机制深度解析

从代码到实践:ZTM零信任网格中的访问控制机制深度解析 【免费下载链接】ztm ZTM(零信任网格)是一个以隐私为先的开源去中心化端到端加密软件定义网络,基于HTTP/2隧道。体验无限连接,将全球网格化! 项目地…

作者头像 李华
网站建设 2026/10/30 6:08:13

信息学奥赛一本通 1301:大盗阿福 | OpenJudge NOI 2.6 8462:大盗阿福

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华