版本控制系统

1. 什么是版本控制

2. 版本控制系统分类

答:

  1. 版本控制(Version control),是维护工程蓝图的标准作法,能追踪工程蓝图从诞生一直到定案的过程。此外,版本控制也是一种软件工程技巧,借此能在软件开发的过程中,确保由不同人所编辑的同一程序文件都得到同步

透过文档控制,能记录任何工程项目内各个模块的改动历程,并为每次改动编上序号

版本控制能提供项目的设计者,将设计恢复到之前任一状态的选择权

2. 版本控制系统分类

适合多人团队协作开发, 代码集中管理, 可以离线工作, 每个计算机都是一个完整仓库

分布式版本管理系统每个计算机都有一个完整的仓库,可本地提交,可以做到离线工作,则不用像集中管理那样因为断网情况而无法工作

Git

补充

补充:版本控制(Version Control)记录文件的变更历史,提供回溯、比较、合并、分支能力,让多人协作和单机迭代都可追溯。

两大主流类别:

  • 集中式(CVCS):如 SVN、CVS。单台中央服务器保存所有版本历史,开发者从中央 checkout 工作副本,断网时无法提交。优点:权限集中、管控严格;缺点:服务器单点是风险。
  • 分布式(DVCS):如 Git、Mercurial。每个本地仓库都是完整的历史副本,提交、分支、查看历史都在本地完成,再通过 push/pull 与远端同步。优点:离线可用、速度快、抗单点故障;缺点:本地仓库体积更大,新手概念更多。

Git 核心概念:工作区 → 暂存区(git add) → 本地仓库(git commit) → 远端仓库(git push)。HEAD 指向当前分支的最新 commit,分支(branch)只是指向某个 commit 的可变指针,因此创建 / 切换分支几乎是 O(1)。

常见工作流:集中式(main 直接提交)、Git Flow(main + develop + feature/* + release/* + hotfix/*)、GitHub Flow(main + 短期特性分支 + PR)、Trunk Based(短分支频繁合入主干)。

来源整理自:我的有道云笔记