Git基本理解

1.版本控制

Git 是一个分布式版本控制系统 (Distributed Version Control System - DVCS)。

所谓版本控制,意思就是在文件的修改历程中保留修改历史,让你可以方便地撤销之前对文件的修改操作。很像文本编辑器都有的「撤销」功能,但是它必须:主动提交。

版本控制、主动提交、中央仓库这三个要素,共同构成了版本控制系统(VCS)的核心。

2.中央式版本控制系统(Centralized VCS)分布式的版本控制系统(Distributed VCS)

中央式 VCS

1.先有人写好框架,放到中央仓库中。

2.其他人,把中央仓库的代码取下来,然后各干各的,最后把写完的新功能提交到中央仓库;

3.及时同步,把同事提交到中央仓库的新代码及时取下来,然后继续开发。

分布式 DVCS

分布式 VCS 除了中央仓库之外,还有本地仓库:团队中每一个成员的机器上都有一份本地仓库,这个仓库里包含了所有的版本历史,或者换句话说,每个人在自己的机器上就可以提交代码、查看历史,而无需联网和中央仓库交互——当然,取而代之的,你需要和本地仓库交互。

中央式 VCS 的中央仓库有两个主要功能:保存版本历史、同步团队代码。而在分布式 VCS 中,保存版本历史的工作转交到了每个团队成员的本地仓库中,中央仓库就只剩下了同步团队代码这一个主要任务。它的中央仓库依然也保存了历史版本,但这份历史版本更多的是作为团队间的同步中转站。

1.你作为主工程师,独立搭建了项目架构,并把这些代码提交到了本地仓库;

2.然后,你在服务器上创建了一个中央仓库,并把 1 中的提交从本地仓库推送到了服务器的中央仓库;

3.其他同事把中央仓库的所有内容克隆到本地,拥有了各自的本地仓库,从此刻开始,你们三人开始并行开发;

在之后的开发过程中,你们三人总是每人独立负责开发一个功能,在这个功能开发过程中,一个人会把它的每一步改动提交到本地仓库。

注意:由于本地提交无需立即上传到中央仓库,所以每一步提交不必是一个完整功能,而可以是功能中的一个步骤或块。 在一个人把某个功能开发完成之后,他就可以把这个功能相关的所有提交从本地仓库推送到中央仓库;

4.每次当有人把新的提交推送到中央仓库的时候,另外两个人就可以选择把这些提交同步到自己的机器上,并把它们和自己的本地代码合并。

 注意:DVCS的本地仓库、与VCS本地的区别。本地仓库是带版本管理功能的,像可以离线做一些提交,回滚、查看历史、分支操作。。。,而VCS的本地备份如脱离服务器则做不上面的这些操作,中央式的没有本地仓库的,本地只有一份你签出的代码和最基本的版本信息(服务器在哪,以及一些关于版本号的缓存什么的)

文章来源:https://juejin.im/book/5a124b29f265da431d3c472e/section/5a124bb26fb9a0450c490173

原文地址:https://www.cnblogs.com/BlueFire-py/p/8580540.html