Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。这年头,你不会敲几个常见命令的前端都不好意思说自己是前端
1 分支规范
1 2 3 4 5 6
| ├── master (主分支)
├── dev (主开发分支)
├── hotfix/v11.1.3 (hotfix分支)
├── hotfix/style (hotfix分支)
├── feature/v11.1.3 (功能开发分支)
└── feature/style (功能开发分支) |
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提交规范
- feat: 新功能(feature)
- fix: 修补bug
- docs: 文档(documentation)
- style: 格式(不影响代码运行的变动)
- refactor: 重构(即不是新增功能,也不是修改bug的代码变动)
- chore: 构建过程或辅助工具的变动
- revert: 撤销,版本回退
- perf: 性能优化
- test:测试
- improvement: 改进
- build: 打包
- ci: 持续集成
GIT的常用操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| //查看最近一次提交
git log --stat -1
//回滚到指定版本
git reset --hard xxx
//撤销指定版本提交
git revert xxx
//分支合并,例如将dev合并到master,在mastart分支下运行
git merge dev
//git查看远程仓库地址命令
git remote -v
//git不区分文件名大小写的问题,查看是否不区分大小写
git config --get core .ignorecase
//设置为false,将区分文件大小写,建议为所有git项目设置为false
git config core .ignorecase false
// 查看当前本地分支对应的远端分支
git branch -vv
// 删除本地分支
git branch -d xx
// 删除远程分支
git push origin --delete xxx
// 推送本地代码到指定的远端分支,如果你本地的分支名称和远程名称相同,则使用以下命令:
git push origin branchName
// 推送本地代码到指定的远端分支,如果本地的分支跟远程的分支不一样,则指定本地和远程的分支的名称:
git push origin 本地分支名 :远端分支名
// 新建远端分支,首先要新建本地分支,然后把本地分支push到远端(不存在)分支即可
git checkout -b dev
git push --set -upstream origin dev //--set-upstream可以简写-u,这样本地和远端关联后,后续提交代码只需要git push
// 新建本地分支与远程分支(已存在)关联
git branch –set -upstream 本地新建分支名 origin /远程分支名 |

附件:

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」
共 1 条评论关于"git常见操作命令,不用可视化工具也可以很好的使用Git"
最新评论