博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
玩转git-flow工作流-分支解析
阅读量:4035 次
发布时间:2019-05-24

本文共 1804 字,大约阅读时间需要 6 分钟。

概述

搞开发的相信大部分人git天天都在用,那么一般我们在实际工程当中,遵循一个合理、清晰的Git使用流程,是非常重要的。否则,每个人都提交一堆杂乱无章的commit,项目很快就会变得难以协调和维护。那么是如何来规范整个流程的呢 ;

标准其实很多,这里我们介绍下Gitflow;

什么是Gitflow

  • Gitflow是基于Git的强大分支能力所构建的一套软件开发工作流,最早由Vincent Driessen在2010年提出。最有名的大概是下面这张图。

那么针对这个规范我们来看下如何在实际使用中来应用整个流程

分支说明

主要分两种 主分支 和 支援性分支

●     主分支 : 分支目录為单层,分支永久保留

○     develop : 当 feature branches 开发完成后,提供测试时,请合并到此,此分支不做任何的程序修改和变更集,只接受 master 和 feature branches 的合并

○     master : 永远处在 production-ready 状态

●     支援性分支 : 分支层级为双层,合并后且沒使用可刪除

○     feature branches : 新功能开发,分支的建立都以 master 為来源

○     hotfix branches : 临时需修改的 bug ,分支的建立都以 master 為來源 

○     release branches: 提供 Marketing 测试,预计要上线的版本,分支的建立都以 master 為來源,且在合并要测试的 feature branches,合并完成后请设定 Tag,Tag 的內容為合并的 feature branches

分支的来源和合并

●     主分支

○     develop

■     来源 : master, feature branches

■     合并 : 无

○     master

■     来源 : 无

■     合并 : release branches, develop

●     支援性分支 : 分支层级為双层

○     feature branches

■     来源 : master

■     合并 : release branches, develop

○     hotfix branches

■     来源 : master

■     合并 : release branches, develop, master

○     release branches

■     来源 : master, feature branches

■     合并 : master

 

支援性分支命名

●     feature branches : 依功能命名

○     ex: 开发的新功能为 FeedbackDashboard,请命名为 feature/FeedbackDashboard

●     hotfix branches : 依修改的 bug 命名

○     ex: 修改 Invoice 的显示错误,请命名为 hotfix/Invoice

●     release branches : 因為合并多个 feature branch,需依日期命名

○     ex: release/20171013

 

分支对应环境

●    主分支

○     develop : 开发环境

○     master : 生产环境

●     支援性分支

○     feature branches : 无

○     hotfix branches : 无

○     release branches : 沙箱环境

 

Git 常用指令

请安裝 Git Windows : https://git-scm.com/download/win

●     分支合并

○     git merge feature/xxx --no-ff

○     :ws!

●     同步远端分支

○     git remote update

○     git remote update origin --prune

●     加入 dll 到 Git

○     git add xxx.dll -f

●     还原本机所有变更集

○     git reset --hard HEAD~

●     建立 Tag

○     git tag -a tagName

●     同步 Tag 到远端

○     git push origin tagName

●     查询 Tag 的內容

○     git show tagName

●     刪除 Tag

○     git push -d origin tagname

○     git -d tagname

转载地址:http://qkudi.baihongyu.com/

你可能感兴趣的文章
iOS AFN 3.0版本前后区别 01
查看>>
iOS ASI和AFN有什么区别
查看>>
iOS QQ侧滑菜单(高仿)
查看>>
iOS 扫一扫功能开发
查看>>
iOS app之间的跳转以及传参数
查看>>
iOS __block和__weak的区别
查看>>
Android(三)数据存储之XML解析技术
查看>>
Spring JTA应用之JOTM配置
查看>>
spring JdbcTemplate 的若干问题
查看>>
Servlet和JSP的线程安全问题
查看>>
GBK编码下jQuery Ajax中文乱码终极暴力解决方案
查看>>
Oracle 物化视图
查看>>
PHP那点小事--三元运算符
查看>>
解决国内NPM安装依赖速度慢问题
查看>>
Brackets安装及常用插件安装
查看>>
Centos 7(Linux)环境下安装PHP(编译添加)相应动态扩展模块so(以openssl.so为例)
查看>>
fastcgi_param 详解
查看>>
Nginx配置文件(nginx.conf)配置详解
查看>>
标记一下
查看>>
一个ahk小函数, 实现版本号的比较
查看>>