开发过程中git分支管理总结
1、分支类型规范
FEA 需求分支
DEV 开发分支
TEST 测试分支
PRE 预发布分支
master 主分支
2、git 分支规范
1. 每个需求建立一个FEA分支,确保每个需求是相互独立的
2. 修改的代码可以暂存在本地git
3. 开发自测:开发完成后可本地自测,将FEA分支上的代码提交到DEV分支
4. 提测:自测无误后,将DEV分支上的代码提交到TEST分支
5. 测试结果
- BUG:在原来的FEA分支上进行代码修改,然后再重复2.3.4.
- 无误:将TEST分支上的代码提交到PRE分支
(测试环境与预发布环境可能略有不同,需多次测试)
6. 预发布无误:将PRE分支上的代码交由leader审核,合入master主分支(在合入master分支的需求中不要夹杂其他还在开发的需求,切记!!!)
7. PRE合入master后建立TAG标签 【FEA、DEV、TEST分支可删】
8. 其他还在开发的FEA分支在合入DEV分支之前需要将master反合入FEA分支,然后重复2.3.4.5.6.7.中的步骤
9. 修复线上BUG:新开FEA分支,然后重复2.3.4.5.6.7.中的步骤
上传的代码确保无mock数据、无console.log!
3、常用的git命令
git命令 | 描述 |
---|---|
git init | 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。 |
git add XX | 把xx文件添加到暂存区去。 |
git commit –m “XX” | 提交文件 –m 后面的是注释。 |
git status | 查看仓库状态 |
git diff XX | 查看XX文件修改了那些内容 |
git diff | 展示本地仓库中任意两个commit之间的文件变动 |
git diff | 两个分支的差异 |
git log | 查看历史记录 |
git reset --hard HEAD^或者 git reset --hard HEAD~ | 回退到上一个版本 |
git reflog | 查看历史记录的版本号id |
git checkout – XX | 把XX文件在工作区的修改全部撤销。 |
git rm XX | 删除XX文件 |
git remote add origin https://xxx.com | 关联一个远程库 |
git push –u(第一次要用-u 以后不需要) origin master | 把当前master分支推送到远程库 |
git clone https://xxx.com | 从远程库中克隆 |
git checkout –b dev | 创建dev分支 并切换到dev分支上 |
git branch | 查看当前所有的分支 |
git checkout master | 切换回master分支 |
git merge dev | 在当前的分支上合并dev分支 |
git branch –d dev | 删除dev分支 |
git branch name | 创建分支 |
git stash | 把当前的工作隐藏起来 等以后恢复现场后继续工作 |
git stash list | 查看所有被隐藏的文件列表 |
git stash apply | 恢复被隐藏的文件 |
git stash drop | 删除被隐藏的文件 |
git stash pop | 恢复文件的同时 也删除文件 |
git remote | 查看远程库的信息 |
git remote –v | 查看远程库的详细信息 |
git push origin master | 把master分支推送到远程库对应的远程分支上 |
可参考: https://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html
4、 常用的图形化git版本管理工具
SourceTree、SmartGit