git 是一个版本控制工具,可能自己一个人开发的时候觉得这个不重要,开发到一个阶段后自己保存自己的文件,然后重新命名下,当自己的开发时出现了很大的问题时,可能就会选择自己上一个版本进行重新开发,这就是我在未接触git时来管理自己的代码的。
那么git呢,如何来帮我们管理自己的代码呢?
首先了解git是一个版本控制系统,版本控制系统分为三大类:本地版本控制系统,集中式版本控制系统和分布式版本控制系统。
本地版本控制(Local Version Control Systems)是将文件的各个版本以一定的数据格式存储在本地的磁盘(有的VCS 是保存文件的变化补丁,即在文件内容变化时计算出差量保存起来),这种方式在一定程度上解决了手动复制粘贴的问题,但无法解决多人协作的问题。这就像是我开头说的例子一样,通过文件来进行保存,一个文件对应一个版本,但是用稀有的好处是帮我们自动化了。
集中式版本控制(Centralized Version Control Systems)相比本地版本控制没有什么本质的变化,只是多了个一个中央服务器,各个版本的数据库存储在中央服务器,管理员可以控制开发人员的权限,而开发人员也可以从中央服务器拉取数据。集中式版本控制虽然解决了团队协作问题,但缺点也很明显:所有数据存储在中央服务器,服务器一旦宕机或者磁盘损坏,会造成不可估量的损失。简单点说,就是将自己的本地版本放到了服务器上。
分布式版本控制( Distributed Version Control System)与前两者均不同。首先,在分布式版本控制系统中,像 Git,Mercurial,Bazaar 以及 Darcs 等,系统保存的的不是文件变化的差量,而是文件的快照,即把文件的整体复制下来保存,而不关心具体的变化内容。其次,最重要的是分布式版本控制系统是分布式的,当你从中央服务器拷贝下来代码时,你拷贝的是一个完整的版本库,包括历史纪录,提交记录等,这样即使某一台机器宕机也能找到文件的完整备份。
参考博文:https://blog.csdn.net/dianxin113/article/details/96491994