什么是“版本控制”?
版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。
*
版本管理器分类
–》本地版本控制系统
–》集中化的版本控制系统
–》分布式版本控制系统
集中式版本控制系统
-
**代表:SVN、CVS 版本库是集中存放在中央服务器的,干活时先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。
-
集中式版本控制系统缺点:中央服务器故障,那么都无法提交更新,也就无法协同工作。
如果中心数据库所在的磁盘发生损坏,又没有做恰当备份,将丢失所有数据——包括项目的整个变更历史。**
分布式版本控制系统
-
代表:git
分布式版本控制系统每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了。任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。
因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。
SVN和GIT
- GIT把内容按元数据方式存储,而SVN是按文件 GIT没有一个全局的版本号,而SVN有、 GIT的内容完整性要优于SVN
- SVN 的优缺点
SVN对中文支持好,操作简单,使用没有难度,美工人员,产品人员,测试人员,实施人员都可轻松上手。使用界面统一,功能完善,操作方便。 - Git的优缺点
对程序源代码进行差异化的版本管理,代码库占极少的空间。易于代码的分支化管理。不支持中文,图形界面支持差,使用难度大。不易推广。
**
安装Git
-
Linux 上安装 sudo yum install git
-
Mac 上安装 在 Mac 上安装 Git 有多种方式。 最简单的方法是安装 Xcode Command Line Tools。
-
Windows 上安装 Git 官方网站下载。 http://git-scm.com/download/win,另一个简单的方法是安装
GitHub for Windows。 该安装程序包含图形化和命令行版本的 Git。
**
Git的命令
-
三种级别配置:system、global、local
-
查看所有配置git config –list
-
查看所有全局配置git config --global –list
-
查看一个全局配置git config --global user.name
-
修改一个全局配置git config --global user.name test
**
Git的使用
-
使用 Git 时获取帮助 $ git help
-
获取某个指令的帮助手册 $ git help 指令
-
例: $ git help config
**
获取Git仓库
-
有两种取得 Git 项目仓库的方法。 第一种是在现有项目或目录下导入所有文件到 Git 中;
-
第二种是从一个服务器克隆一个现有的 Git
仓库。 在现有目录中初始化仓库 $ git init 克隆现有的仓库 $ git clone
https://github.com/iiYii/yii2-rest-demo.git [仓库名字]*如果你对其它的 VCS 系统(比如说Subversion)很熟悉,请留心一下你所使用的命令是"clone"而不是"checkout"。
远程仓库
-
查看远程仓库
git remote –v 查看所有远程仓库 添加远程仓库 -
添加远程仓库
git remote add <短名称> <地址> 添加远程仓库 -
从远程仓库中抓取与拉取
git fetch 拉取远程仓库代码 -
推送到远程仓库
git push [remote-name] [branch-name] -
查看远程仓库
git remote show [remote-name] -
远程仓库的移除与重命名
git remote rename
常见的操作命令
- 查看分支:git branch
- 创建分支:git branch name
- 切换分支:git checkout name
- 创建+切换分支:git checkout -b name
- 合并某分支到当前分支:git merge name
- 删除分支:gitbranch -d name
- 删除远程分支:git push origin :name
Git的参考及学习资料