Vesion Controll
1. 闲言
在学校里面写的项目,开发不过两三个人,使用Git也只是简单使用其提供的代码协作功能,并且这个项目往往是:没有持久性、一次性开发的,完全没有运用到Git的分支模型。
还记得那个时候师兄给我说的,一个master分支,先pull,解决冲突,再push
。
但是在企业中,一个应用的开发往往具有较长的生命线,需要进行迭代开发,并且需要解决几十个人的代码协作问题。这就要求一套完整的规范的代码开发流程。
2. 什么是Git
Git是一款分布式代码版本控制系统。 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。 除了项目源代码,你可以对任何类型的文件进行版本控制。 那么我们为什么需要版本控制?有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态,你可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而找出导致怪异问题出现的原因,又是谁在何时报告了某个功能缺陷等等。
2.1 常用指令
git add readMe.md //添加readMe.md 到暂存区
git commit -m 'readMe.md提交' // 推送暂存区中的内容到本地仓库,'readMe.md提交'是提交的注释
git diff readMe.md //查看readMe.md的变化情况
git log --pretty=oneline //查看日志
git reset -hard 版本号 //回退
git reset --hard HEAD^ //回退到上一个版本
3.远程git仓库-Github
3.1 远程常用指令
git remote add origin 远程git地址 //添加仓库
git push -u origin master //-u 初次 将本地的master分支仓库内容推送到远程仓库中
git push origin master //推送
git clone 远程git地址 //clone
git branch dev //创建分支
git checkout dev //切换分支
git branch //列出所有分支
git merge dev //合并dev分支和当前分支的内容
git branch -d dev //删除分支dev
git pull //拉取
3.2 分支介绍
master: 生产的代码 develop:预发布到生产的代码 release:新版本发布的代码 feature:新需求开发的代码 hotfix:紧急修复生产BUG的代码
3.3 场景
- 新的需求->从develop分支创建feature分支
- 开发feature分支,并进行bug测试,修复
- feature分支合并到develop分支->创建release分支
- 在release分支进行bug测试,修复
- 将release分支合并到develop和master分支
- 上线之后出现问题,从master分支创建hotfix分支,进行紧急修复
- hotfix合并到develop和master分支