集中化版本控制系统(SVN)
特点:基于服务器,客户端的运行模式
服务器保存文件的所有更新版本
客户端只保留最新的文件版本
优点: 联网运行 支持多人
缺点:
不支持离线提交版本更新
服务器崩溃,所有人都无法正常工作
分布式版本控制系统 Git
基于服务器,客户端的运行模式
联网运行,支持多人协作
断网后,支持离线提交本地版本更新
服务器故障,可使用客户端的备份进行恢复‘
客户端是服务器的完整备份,并不是只保留文件的最新版本
Git
git是一个开源的分布式版本控制系统,最先进,最流行,高效的处理从小到大的项目版本
特点
直接记录快照,而非差异比较,所有的操作都是本地操作
SVN差异比较
好处:节省磁盘空间
缺点:耗时,效率低
在每次切换换版本的时候,都需要在基文件的基础上,应用每个差异,从而生成目标版本对应的文件
Git记录快照
在原有文件版本的基础上重新生成一份新的文件,类似备份,为了效率,如果文件没有修改,Git不再重新存储该文件,而是只保留一个链接指向之前存储的文件
缺点:占用磁盘空间大
优点:版本切换非常快,每个版本都是完整的文件快照,切换版本直接恢复 目标版本的快照就可以
Git中绝大多数操作 只需要访问本地文件和资源
断网后依旧可以在本地对项目进行版本管理
联网后,把本地修改的记录同步到云端服务器就可以
Git的三大区域[重点]
工作区,暂存区,Git仓库
Git的三种状态
<已修改 modified :已修改了文件,但还没有将修改的结果放到暂存区
已暂存 staged :对已修改文件的当前版本做了标记,使之包含在下次提交的列表中(文件修改并放入了暂存区)
已提交 commited 文件已经保存在本地的Git仓库中