所谓版本控制,意思就是在文件的修改历程中保留修改历史,让你可以方便地撤销之前对文件的修改操作
- 保存历史
- 可回溯
- 多人合作:中央仓库
- 第一次加入团队时,把中央仓库的代码取下来
- 写完的新功能提交到中央仓库
- 同事提交到中央仓库的新代码,及时同步下来
- 第一次加入团队时,把中央仓库的代码取下来
- 写完的新功能提交到本地仓库
- 开发完成后,可以从本地仓库推送到中央仓库
- 中央仓库有新代码,其他同事把这些提交同步到自己的机器上,并把它们和自己的本地代码合并
分布式 VCS 的优点:
- 大多数的操作可以在本地进行,所以速度更快,而且由于无需联网,所以即使不在公司甚至没有在联网,你也可以提交代码、查看历史,从而极大地减小了开发者的网络条件和物理位置的限制(例如,你可以在飞机上提交代码、切换分支等等);
- 由于可以提交到本地,所以你可以分步提交代码,把代码提交做得更细,而不是一个提交包含很多代码,难以 review 也难以回溯。
分布式 VCS 的缺点:
- 由于每一个机器都有完整的本地仓库,所以初次获取项目(Git 术语:clone)的时候会比较耗时;
- 由于每个机器都有完整的本地仓库,所以本地占用的存储比中央式 VCS 要高。