Git学习笔记(集中式版本控制工具与分布式版本控制工具)

集中式版本控制工具 

        集中式版本控制工具是指所有的项目版本都存储在唯一的服务器中,而团队中使用者本地只保存有最新版本。因此,当服务器宕机或故障时,服务器中文件如果损坏或缺失,使用者本地只有最新版本,因此很难恢复全部版本文件记录,容易造成文件缺失。

Git学习笔记(集中式版本控制工具与分布式版本控制工具)_第1张图片

        如果多个使用者更新同一个文件,当第一个人更新并上传文件后,会提醒后续提交的人更新文件,否则无法提交。只有在更新文件后才能将自己的文件与服务器中的文件合并。依次如此执行,最终得到的最新文件就是所有人修改后的版本。

        但是如果多个人同时修改了同个文件中的同一行代码或者无法进行对比的二进制文件等,比如图片等,那么在进行版本控制提交时容易产生冲突,造成无法提交的问题。此时在第一个人提交修改的文件到库中后,后续提交的人也会提示更新文件,并且会造成冲突,只有按照提示解决冲突后才能继续进行提交库,最终得到的最新文件是最后一个提交库的人解决冲突的版本。

分布式版本控制工具

        分布式版本控制工具不再有唯一的服务器,每个使用者会将整个项目文件镜像到自己的本地中,因此每个使用者的电脑就是一个服务器。这样一来,当远程代码存储平台出现故障时,也不用担心代码文件以及版本丢失的问题。 

 Git学习笔记(集中式版本控制工具与分布式版本控制工具)_第2张图片

         分布式版本控制工具解决了部分集中式版本控制工具的缺陷和问题:

  1. 在断网的情况下依旧可以进行开发(所有版本的代码本地都有)
  2. 使用GitLab进行团队协作,哪怕GitLab平台挂了,每个使用者本地也都存储着完整的项目代码。

你可能感兴趣的:(git)