目录
0.Git背景
不知道你⼯作或学习时,有没有遇到这样的情况:我们在编写各种⽂档时,为了防⽌⽂档丢失,更改失误,失误后能恢复到原来的版本,不得不复制出⼀个副本,⽐如:
“报告-v1”
“报告-v2”
“报告-v3”
“报告-确定版”
“报告-最终版”
“报告-究极进化版”
...
每个版本有各⾃的内容,但最终会只有⼀份报告需要被我们使⽤ 。
但在此之前的⼯作都需要这些不同版本的报告,于是每次都是复制粘贴副本,产出的⽂件就越来越多,⽂件多不是问题,问题是:随着版本数量的不断增多,你还记得这些版本各⾃都是修改了什么吗?⽂档如此,我们写的项⽬代码,也是存在这个问题的!!
- 对一个文档进行多次修改☞存在问题没办法拿到不同的文档版本:
你的老板需要你写一份产品的设计文档。
你完成第一个版本的文档,你的老板让你多次修改,于是乎你的文档设计有很多个版本的文档,你手里现在只有第五次修改的文档。
但是你的老板又开始刁钻的要求:第一次的文档是最符合预期。但是此刻,你没有办法拿到第一次版本修改的内容,原因是你每次修改都是在前一个版本基础上修改的。一份文档进行多次修改。最后这份文档保留的是第五次修改的内容。
- 对一个文档进行版本管理
下次你的老板又要你去写一份产品的设计文档。
你完成了第一个版本的文档,你也知道你的老板不会一次性认可。果然你的老板让你再次修改,这次你不是在 第一个版本的文档原件上修改,你是在它的副本上修改,得到了第二个版本。
来来回回反复修改,你此刻也有了5个版本的设计文档。无论你的老板需要哪一个,你都可以给他。
但还是存在问题,当你的版本不停的升级逐渐扩大。首先占你的内存,其次如果你的老板说:需要添加和修改了某个功能(某一个版本的具体内容)的版本。也非常难找到对应的版本。
版本控制器——Git
定义:记录代码文件等 每次修改的内容以及版本迭代 的一个管理系统
Git就是目前最主流的版本控制器
Git可以控制(记录和维护)我们电脑上所有格式的文件
对于开发人员来说,管理和维护 软件开发项目中的源代码文件
Git可以帮助我们记录每个版本修改的内容:
文本文件Git记录的内容:第几行 怎么样(新增/删减) 什么“内容”
二进制文件:图片/视频都是二进制文件,对于二进制文件是没有办法跟踪具体内容的变化的。只能通过命名,大小等去追踪。
为了能够更⽅便我们管理这些不同版本的⽂件,便有了版本控制器。所谓的版本控制器,就是能让你了解到⼀个⽂件的历史,以及它的发展过程的系统。通俗的讲就是⼀个可以记录⼯程的每⼀次改动和版本迭代的⼀个管理系统,同时也⽅便多⼈协同作业。⽬前最主流的版本控制器就是 Git 。Git 可以控制电脑上所有格式的⽂件,例如 doc、excel、dwg、dgn、rvt等等。对于我们开发⼈员来说,Git 最重要可以帮助我们管理软件开发项⽬中的源代码⽂件!
当然,还需要再明确⼀点,所有的版本控制系统,Git 也不例外,其实只能跟踪⽂本⽂件的改动,⽐如 TXT ⽂件,⽹⻚,所有的程序代码等等。版本控制系统可以告诉你每次的改动,⽐如在第5⾏加了⼀个单词“Linux”,在第8⾏删了⼀个单词 “Windows”。⽽图⽚、视频这些⼆进制⽂件,虽然也能由版本控制系统管理,但没法跟踪⽂件的变化,只能把⼆进制⽂件每次改动串起来,也就是只知道图⽚从100KB改成了120KB,但到底改了啥,版本控制系统不知道,也没法知道。
1.在CentOS下安装Git
git --version //查看当前环境下有无Git
yum -y remove git //卸载git
yum -y install git //安装git
2.在Ubuntu下安装Git
git --version //查看当前环境下有无Git
sudo apt-get -y remove git //卸载git
sudo apt-get -y install git //安装git