Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。这年头,你不会敲几个常见命令的前端都不好意思说自己是前端
1 分支规范
1 |
├── master (主分支) |
1.1 主分支master
- ● master分支永远受保护。不可在master分支上开发,进行commit,push操作。
- ● master分支只接收merge操作。
- ● 每次发布正式上线的稳定版本(发布后第一天),将当前发布版本merge到master分支。
- ● master分支的代码永远和线上代码保持同步。
1.2 主开发分支dev
- ● dev分支为主开发分支。可以进行commit,push,merge操作。
- ● 一般不在dev分支上进行新功能的开发。dev分支用来做不同分支的代码整合。
- ● 每次master发布以后,需要把master的代码merge到dev上。保持比master的代码更新。
1.3 hotfix分支 hotfix/xxxx
- hotfix分支是由master分支checkout出来,用于热修复线上bug用。可以进行commit,push,merge操作
- 修复完毕经验证后直接发布。发布完成后merge到master分支。
1.4 功能开发分支 feature/xxxx
- ● 用来进行新功能开发的分支。此分支由dev分支checkout出来,可以进行commit,push,merge操作。
- ● 按照功能或者版本可以同时checkout多个feature分支并行开发。开发完毕统一merge回dev。
2 工作流程
2.1 新功能开发
- ● 从dev分支checkout开发分支,如feature/new。
- ● 开发完成后提交测试。测试通过后由发布负责人(一般为团队leader)修改package.json上的版本号,填写changelog。
- ● 正式发布完成后,由发布负责人把发布的版本merge到master分支。
- ● 最后把master分支merge到dev分支。
2.2 hotfix热修复
- ● 从master分支checkout热修复分支,如hotfix/newbug。
- ● 修复完成后提交测试。测试通过后由发布负责人(一般为团队leader)修改package.json上的版本号,填写changelog。
- ● 正式发布完成后,由发布负责人把hotfix的merge到master分支。
- ● 最后把master分支merge到dev分支。
2.3 并行开发
- ● 从dev分支checkout多个并行开发的分支,如feature/new1,feature/new2,feature/new3...。
- ● 开发完成后由发布负责人(一般为团队leader)将并行开发的分支统计后统一合并到dev或者一个新的feature分支上。(主要看短期内是否有多次发布排期)
- ● 提交测试。测试通过后由发布负责人修改package.json上的版本号,填写changelog。
- ● 正式发布完成后,由发布负责人把发布的版本merge到master分支。
- ● 最后把master分支merge到dev分支。
3 注意点
- ● 只要发布到正式环境,不管改动多少,每次都必须版本号变动,同时changelog留下记录。
- ● 每次发布到正式环境后一定要记得同步代码回dev。
- ● 除了master,dev这三个分支类型外的所有分支都是临时分支。可以适当保留1-2个版本的分支后删除其他分支。
- ● 养成良好的习惯,每次开发前,提交代码前先同步代码。
GIT的常用操作
1 |
//查看最近一次提交 |