版本控制起步
2013-09-29 14:50
162 查看
/*
* Date :2013-9-29 参考:https://code.csdn.net/help/CSDN_Code/CODE_Support/Index
*/
这种做法带来了许多好处,特别是相较于老式的本地 VCS 来说。现在,每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个 CVCS 要远比在各个客户端上维护本地数据库来得轻松容易。
这么做最显而易见的缺点是中央服务器的单点故障。如果宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。要是中央服务器的磁盘发生故障,碰巧没做备份,或者备份不够及时,就会有丢失数据的风险。最坏的情况是彻底丢失整个项目的所有历史更改记录,而被客户端偶然提取出来的保存在本地的某些快照数据就成了恢复数据的希望。但这样的话依然是个问题,你不能保证所有的数据都已经有人事先完整提取出来过。本地版本控制系统也存在类似问题,只要整个项目的历史记录被保存在单一位置,就有丢失所有历史更新记录的风险。
2.分布式版本控制系统 (
在这类系统中,像
Git,Mercurial,Bazaar 以及 Darcs 等,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。更进一步,许多这类系统都可以指定和若干不同的远端代码仓库进行交互。籍此,你就可以在同一个项目中,分别和不同工作小组的人相互协作。
已修改(modified):表示修改了某个文件,但还没有提交保存
已暂存(staged):表示把已修改的文件放在下次提交时要保存的清单中
* Date :2013-9-29 参考:https://code.csdn.net/help/CSDN_Code/CODE_Support/Index
*/
1.集中化的版本控制系统(Centralized Version Control Systems,简称 CVCS)
如何让在不同系统上的开发者协同工作?于是,集中化的版本控制系统( Centralized Version Control Systems,简称 CVCS )应运而生。这类系统,诸如 CVS,Subversion 以及 Perforce 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。这种做法带来了许多好处,特别是相较于老式的本地 VCS 来说。现在,每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个 CVCS 要远比在各个客户端上维护本地数据库来得轻松容易。
这么做最显而易见的缺点是中央服务器的单点故障。如果宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。要是中央服务器的磁盘发生故障,碰巧没做备份,或者备份不够及时,就会有丢失数据的风险。最坏的情况是彻底丢失整个项目的所有历史更改记录,而被客户端偶然提取出来的保存在本地的某些快照数据就成了恢复数据的希望。但这样的话依然是个问题,你不能保证所有的数据都已经有人事先完整提取出来过。本地版本控制系统也存在类似问题,只要整个项目的历史记录被保存在单一位置,就有丢失所有历史更新记录的风险。
2.分布式版本控制系统 (
Distributed Version Control System,简称 DVCS )
在这类系统中,像Git,Mercurial,Bazaar 以及 Darcs 等,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。更进一步,许多这类系统都可以指定和若干不同的远端代码仓库进行交互。籍此,你就可以在同一个项目中,分别和不同工作小组的人相互协作。
3.文件三种状态
已提交(committed):表示该文件已经被安全地保存在本地数据库中了已修改(modified):表示修改了某个文件,但还没有提交保存
已暂存(staged):表示把已修改的文件放在下次提交时要保存的清单中
相关文章推荐
- GIT学习笔记——1.1 起步 - 关于版本控制
- 1.1 起步 - 关于版本控制
- 1.1 起步 - 关于版本控制
- 1.1 起步 - 关于版本控制
- Git版本控制管理学习笔记2--起步
- 【吐血整理】SVN命令行,Subversion的正确使用姿势,让版本控制更简单~
- 建立自己的版本控制服务器----SVN(subversion)的初级使用
- 版本控制工具Git详解(更新中)
- Ubuntu+Eclipse+SVN 版本控制配置笔记
- 市内移出版本2.0(1、一页显示15条。2、增加控制标志。3、打印表格时绑定的list的优化。4、保存迁出登记信息时根据业务流水号判断增加还是修改。5、统一管理常量)
- 在Windows2003下用subversion进行版本控制
- 版本控制命名规范
- Java开发环境搭建(进阶配置四 ——版本控制工具之SVN)
- SVN搭建本地版本控制仓库
- Syncthing免费开源的文件同步工具-带版本控制可用于构建个人云存储
- LINUX——gitlab版本控制,关于项目组管理,项目用户及权限管理的使用
- 版本控制工具SourceTree使用一-----注册GitHub账号,使用SourceTree上传、提交、推送程序
- 用 Subversion 构建版本控制环境
- 学习简单使用Gitbub版本控制
- Git版本控制:Github的使用之 多人协作及参与项目