版本控制
可以把项目回溯到之前的状态,比较文件的变化细节,定位Bug。 1、集中化的版本控制系统 svn,都有一个单一的集中管理的服务器, 优点: 1.svn每次存的是差异,需要的硬盘空间相对小一点,可是回滚的速度很慢 2.工作的人通过客户端连接到服务器,取出最新文件。每个人都可以看到其他人在做什么,管理员可以掌握每个开发者的权限。 3.管理一个集中的版本控制系统,比管理各个客户端维护本地数据库容易。 缺点: 1.中央服务器的单点故障。客户端只会保存最新代码,没有历史记录,如果服务器挂了,就无法提交代码。 2.服务器宕机,本地开发不能得到保障,不能保存开发的代码。服务器宕机,最好手动备份,然后在开发。 3.中央服务器的磁盘发生故障,碰巧没备份,或备份不够及时,就会有丢失数据的风险。最坏的情况是丢失整个项目的历史更改记录。 客户端提取的本地的某些快照数据是恢复数据的希望。 2、分布式的版本控制系统: git,客户端并不是提取最新版本的文件快照,而是把代码仓库完整的镜像下来。 优点: 1.任何一个协同工作的服务器发生故障,都可以用任何一个镜像出来本地仓库恢复,每一次的操作,都是对代码仓库的完整备份。 2.分布式的版本控制系统在管理项目时,存放的不是每个版本之间的差异,存放的是索引,(所需磁盘空间小,所以每个客户都可以放小整个项目的历史记录)。 3.断网情况下,也可以进行代码开发, 使用gitlab进行团队协作,哪怕github挂了,客户端也保存了完整的项目,包含历史记录,git每次存储的都是项目的完整快照,需要的硬盘空间会相对大一点 4.git团队对代码做了极致的压缩,实际空间比svn大不了多少,git的回滚速度极快。 学习视频链接: - 尚硅谷Git教程全套(12h深入掌握git)_哔哩哔哩_bilibili
|