美文网首页
git的工作流程思考

git的工作流程思考

作者: mayufo | 来源:发表于2018-08-18 17:35 被阅读0次

一直以来公司都是svn来进行版本控制,虽然svn的版本控制也可以说满足公司的日常需求,但是作为使用git的人来说,我真的裂墙安利git。

无论是版本控制,分支管理,还是存储都更加合理,更加快速。

为了以后升职加薪,为了早日实现git称霸天下的梦想,为了世界和平,我要琢磨一篇git工作流程,以备不时之需。

image.png

希望解决的问题

  1. 目前的开发都是在主分支上,没有分支的概念之说,容易造成冲突!!!
  2. 没有代码review的机制
  3. 每当开发同一个产品的另外版本的时候,只能重新复制一个出来,无法统一管理

工作流程思考

分支管理:每一个项目都要创建test, develop分支。

master 是生产环境,当完成日常的feature开发,可以merge到master分支
test分支上的代码用于日常测试,可能会存在bug
develop是代码已经测试并且已经部署到开发调试环境

  1. 新创建个分支。
    如果是新的开发需求分支命名为 开发人员-feat-模块名字,如git checkout -b may-feat-login
    如果是修改bug,分支命名为开发人员-fix-模块名字,如git checkout -b may-fix-may-fix-login
  2. 修改代码,提交代码
    git commit调出编辑器,写多行信息
<type>(<scope>): <subject> // 必须

type: 提交类别
feat:新功能(feature)
fix:修补bug/ docs:文档(documentation)
style: 格式(不影响代码运行的变动)
refactor:重构(即不是新增功能,也不是修改bug的代码变动)
test:增加测试
chore:构建过程或辅助工具的变动

image.png
也可以配合工具 Commit message
npm install -g commitizen  // 安装
commitizen init cz-conventional-changelog --save --save-exact // 项目里运行
git commit 换成 git cz

为了commit的规范,自己也搜索了一圈,发现很多人在提交的时候使用Emoji标签,也是非常棒的
emoji emoji 代码 commit 说明
🎉 (庆祝) :tada: 初次提交
✨ (火花) :sparkles: 引入新功能
🔖 (书签) :bookmark: 发行/版本标签
🐛 (bug) :bug: 修复 bug
🚑 (急救车) :ambulance: 重要补丁
🌐 (地球) :globe_with_meridians: 国际化与本地化
💄 (口红) :lipstick: 更新 UI 和样式文件
🚨 (警车灯) :rotating_light: 移除 linter 警告
🔧 (扳手) :wrench: 修改配置文件
➕ (加号) :heavy_plus_sign: 增加一个依赖
➖ (减号) :heavy_minus_sign: 减少一个依赖
⬆️ (上升箭头) :arrow_up: 升级依赖
⬇️ (下降箭头) :arrow_down: 降级依赖
⚡️ (闪电)
🐎 (赛马) :zap:
:racehorse: 提升性能
📈 (上升趋势图) :chart_with_upwards_trend: 添加分析或跟踪代码
🚀 (火箭) :rocket: 部署功能
✅ (白色复选框) :white_check_mark: 增加测试
📝 (备忘录) :memo: 撰写文档
🔨 (锤子) :hammer: 重大重构
🎨 (调色板) :art: 改进代码结构/代码格式
🔥 (火焰) :fire: 移除代码或文件
✏️ (铅笔) :pencil2: 修复 typo
🚧 (施工) :construction: 工作进行中
👷 (工人) :construction_worker: 添加 CI 构建系统
💚 (绿心) :green_heart: 修复 CI 构建问题
🔒 (锁) :lock: 修复安全问题
🐳 (鲸鱼) :whale: Docker 相关工作
🍎 (苹果) :apple: 修复 macOS 下的问题
🐧 (企鹅) :penguin: 修复 Linux 下的问题
🏁 (旗帜) :checked_flag: 修复 Windows 下的问题

  1. code reivew
    目前主流的code review 工具 Phabricator
    在commit中引入code review的机制,如果无法通过审核,需要重新修改代码,继续提交。直到通过提交
    最后再 git push

  2. 合并分支,将自己的产出may-feat-login分支的代码合并到master分支,再删除分支

git checkout master // 切换到master分支
git rebase may-feat-login  
// 如果遇到冲突,解决冲突
git add . // 解决冲突的代码重新加入缓存
git rebase  --continue 
git checkout -d may-feat-login // 删除分支
  1. 当遇到产品其他版本的开发的时候
    比如遇到产品专门为ios 手机定制的一块新功能的时候
    创建新分支,命名为 master-ios
git checkout -b master-ios
  1. 当有其他通用的内容需要在多个版本代码修改的时候,
    比如对分支 may-feat-dateTime的功能,需求在master 和 master-ios上都能更新到
git checkout master
git rebase may-feat-dateTime
// 解决冲突
git rebase  --continue 

git checkout master-ios
git rebase may-feat-dateTime
// 解决冲突
git rebase  --continue 

参考内容

Commit message 和 Change log 编写指南
Code Review 工具推荐 | Lifecycle

相关文章

  • 关于git flow工作流程的一点思考

    关于git flow工作流程的一点思考 Git Flow工作流程 Git分支管理策略 具体流程暂不细表,参考文章中...

  • Git基础

    一、Git 工作流程 本章节我们将为大家介绍 Git 的工作流程。 一般工作流程如下: 克隆 Git 资源作为工作...

  • git的工作流程思考

    一直以来公司都是svn来进行版本控制,虽然svn的版本控制也可以说满足公司的日常需求,但是作为使用git的人来说,...

  • 基于jgitflow插件使用git flow

    本文使用jgitflow插件简化实现git flow工作流程,具体流程参考Git工作流程最佳实践--git flo...

  • Git版本管理软件初识 2019-01-26

    git 是什么? “git是版本控制系统。” git 的工作流程? “有三种工作流程: Git flow Gith...

  • Git 的各种工作流程

    Git 的各种工作流程 常见的git工作流程 Centralized Workflow (集中式工作流)、Feat...

  • git 常用命令

    git 的工作流程图 工作常用的git 命令

  • GIt 常用操作指令

    《Git 使用规范流程》 《常用 Git 命令清单》 《Git 远程操作详解》 《Git工作流程》 开发过程中,用...

  • Git分布式版本控制系统的使用二:Git 工作流程、工作区、暂存

    Git分布式版本控制系统的使用二:Git 工作流程、工作区、暂存区和版本库 一、Git 工作流程 参考菜鸟教程 ...

  • Git 速查

    常用 Git 命令清单 --阮一峰Git 使用规范流程 --阮一峰Git 工作流程 --阮一峰Git 分支管理策...

网友评论

      本文标题:git的工作流程思考

      本文链接:https://www.haomeiwen.com/subject/wqpfiftx.html