文章目录
- 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
能查到版本号,就是安装成功了。