一、版本控制系统
(1)集中化版本控制系统
集中化的版本控制系统,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。
弊端---中央服务器单点故障:当中央处理器宕机时,工作者们无法提交更新的数据,无法完成协同工作。如果中心数据库所在的磁盘发生损坏,又没有做恰当备份,毫无疑问将丢失所有数据。
(2)分布式版本控制系统
客户端并不只提取最新版本的文件快照, 而是把代码仓库完整地镜像下来,包括完整的历史记录。 这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。 因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。
(3)区别
特性集中式(SVN) 分布式(Git)
仓库存储位置 仅中央服务器有完整历史 每个开发者本地都有完整仓库副本
离线操作 必须联网提交/更新 本地可提交、创建分支、查看历史
数据完整性 中央服务器故障导致全员瘫痪 单点故障不影响他人,可快速恢复
分支操作 分支创建/合并慢,需联网 分支秒级创建/合并,本地完成
二、Git常用命令
(1)设置用户名:git config --global user.name 用户名
(2)设置用户签名:git config --global user.eamil 邮箱
(3)初始化本地库:git init
(4)查看本地库状态:git status
(5)添加到暂存区:git add 文件名
(6)提交到本地库:git commit -m"日志信息"文件名(将暂存区的文件提交到本地库形成历史记录)
(7)查看历史纪录:git reflog
(8)版本穿梭:git reset --hard 版本号