sxq123

集中式版本控制工具

CVS、SVN(Subversion)、VSS....
集中化的版本控制系统,都有一个单一的集中管理的服务器,保存所有文件的修订版本,协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新

优点

每个人都可以在一定程度上看到项目其他人正在做些什么,管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统要更加容易

缺点

中央服务器的单点故障。如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,就无法协同工作

分布式版本控制工具

Git、Mereurial、Bazaar、Darcs...
像Git这种分布式版本控制工具,客户端提取的不是最新版本的文件快照,而是把代码仓库完整的镜像下来(本地库)。这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地库进行恢复。因为每个哭护短的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份。

分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷

  1. 服务器断网的情况下也可以进行开发(因为版本控制式在本地进行的)
  2. 每个客户端八寸的也都是整个完整的项目(包含历史记录,更加安全)

Git历史

L大神花了两周开发出Git,花了两周测试,共一个月...。

Git工作机制

Git有三块

  1. 工作区 写代码,代码的存放目录(可以删除)
  2. 暂存区 临时存储(可以删除)
  3. 本地库 历史版本,无法删除 (只能删库跑路...)

Git和代码托管中心

代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库

局域网

GitLab

互联网

GitHub(外网)
Gitee(国内网站)

常用命令

命令名称 作用
git config --global user.name 用户名 设置用户签名
git config --global user.email 邮箱 设置用户签名
git init 初始化本地库
git status 查看本地库状态
git add 文件名 添加到暂存区
git commit -m "日志信息" 文件名 提交到本地库
git reflog 查看版本记录
git log 查看详细日志
git reset --hard 版本号 版本穿梭

分支的操作

命令名称 作用
git branch 分支名 创建分支
git branch -v 查看分支
git checkout 分支名 切换分支
git merge 分支名 把指定的分支合并到当前分支上

要切换到master分支再执行分支和并

分类:

技术点:

相关文章: