git开发流程

分支介绍

  • master - 主分支

所有提供给用户使用的正式版本,都在这个主分支上发布
开发者在此分支 不可进行 push 操作

  • dev - 开发分支

日常开发所使用的分支,开发者完成的阶段性功能模块将首先被合并到此分支
此分支亦是团队内部测试、阶段性工作验证所使用的分支
开发者在此分支 不可进行 push 操作,只能通过 Pull Request 的方式将个人分支合并到此分支
开发过程中,要经常与此分支保持同步

  • feature/xxx - 特性分支

用于某个功能模块的开发,例如:张三创建了一个 feature/package-manager 分支负责开发包管理器模块
当该功能模块开发任务完成后,通过 Pull Request 的形式进行请求合并,管理员 Code Review 通过后,将该分支合并到 dev 分支;此后,该分支将被删除
一旦完成开发,它们就会被合并进 dev 分支**(仅能通过 Pull Request 的方式)**,然后被删除
此类分支由开发者个人管理和使用, 可以进行 push 操作
开发过程中,此类分支要经常与 dev 分支保持同步

  • hotfix/xxx - 补丁分支

用于紧急修复 Bug 的分支,可以由 master 或 dev 分支创建
同 feature/xxx 分支一样,一旦修复工作完成,它们就会被合并进 master 或 dev 分支 (仅能通过 Pull Request 的方式),然后就被删除

工作流程

# 开发前克隆 dev 分支到本地
git clone -b dev url

第一步:新建分支

首先,每次开发新功能,都应该新建一个单独的分支

# 获取 dev 分支最新代码
git checkout dev
git pull
# 新建一个特性分支
git branch feature/xxx
# 切换到该特性分支,进行开发
git checkout feature/xxx

第二部:提交分支

分支修改后,就可以提交了

# 提交代码
git add .

git commit -m "commit message"
# 例如
# git commit -m "feat: add login"

# 推送代码前,先保证分支代码最新
# 切换并更新dev分支
git checkout dev
git pull --rebase

# 切换到开发分支,合并dev分支代码
git checkout feature/xxx
git rebase -i dev
# 如果有冲突再手动解决冲突

# 开发过程中,将本地仓库开发中的特性分支 push 到远程仓库(可选的)
git push -u origin feature/xxx

git push 的 -u 参数,表示将远程仓库 origin/feature/xxx 与 本地仓库 feature/xxx 建立关联,下一次执行 push 命令,可省略后面的远程仓库名和分支名,直接输入 git push 即可

commit message规范

用于说明git commit的类别,只允许使用下面的标识。

feat:新功能(feature)。
fix:修复bug,可以是QA发现的BUG,也可以是研发自己发现的BUG。
docs:文档(documentation)。
style:格式(不影响代码运行的变动)。
refactor:重构(即不是新增功能,也不是修改bug的代码变动)。
perf:优化相关,比如提升性能、体验。
test:增加测试。
chore:构建过程或辅助工具的变动。
revert:回滚到上一个版本。
merge:代码合并。
sync:同步主线或分支的Bug。

第三步:与 dev 主干同步

分支的开发过程中,要经常与 dev 主干保持同步


# 获取 dev 分支最新代码
git checkout dev
git pull

# 切换回当前开发的特性分支
git checkout feature/xxx
# 合并 dev 分支到当前分支
git rebase dev

第四步:发出 Pull Request

完成当前特性分支的所有开发任务,进行最后一次 与 dev 主干同步 工作,并提交到远程仓库以后,就可以发出 Pull Request 到 dev 分支,然后请求管理员进行 Code Review ,确认可以合并到 dev 分支

# 最后进行一次步骤三的同步工作

# 提交到远程仓库
git checkout feature/xxx
git push origin feature/xxx
# 在 GitHub 管理界面创建 Pull Request,等待管理员进行 Code Review

第五步:清理无用的分支

某个特性分支开发任务全部完成后,应删除它

# 首先,切换回 dev 分支
git checkout dev

# 先删除远程特性分支
git push origin -d feature/xxx

# 再删除本地特性分支
git branch -d feature/xxx

相关推荐

  1. git开发工作流程

    2024-07-16 22:08:01       35 阅读
  2. git开发流程

    2024-07-16 22:08:01       20 阅读
  3. 项目使用git开发流程

    2024-07-16 22:08:01       21 阅读
  4. git上传流程

    2024-07-16 22:08:01       56 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 22:08:01       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 22:08:01       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 22:08:01       62 阅读
  4. Python语言-面向对象

    2024-07-16 22:08:01       72 阅读

热门阅读

  1. 5. 基于Embedding实现超越elasticsearch高级搜索

    2024-07-16 22:08:01       25 阅读
  2. 业务需求方面

    2024-07-16 22:08:01       20 阅读
  3. ABC分析模型详解

    2024-07-16 22:08:01       19 阅读
  4. Ceph资源池pool管理

    2024-07-16 22:08:01       18 阅读
  5. 常用知识点问答

    2024-07-16 22:08:01       22 阅读
  6. MongoDB 面试题及答案整理,最新面试题

    2024-07-16 22:08:01       20 阅读
  7. 记录一次Android推流、录像踩坑过程

    2024-07-16 22:08:01       20 阅读
  8. LINUX:懒汉单例模式线程池

    2024-07-16 22:08:01       21 阅读
  9. flask-login会话保持实现

    2024-07-16 22:08:01       24 阅读
  10. C调用C++接口

    2024-07-16 22:08:01       23 阅读
  11. 年轻人如何克服焦虑

    2024-07-16 22:08:01       20 阅读