GitFlow
Environment
https://dev.to/flippedcoding/difference-between-development-stage-and-production-d0p
产品研发过程涉及三种环境:
开发环境 -- 研发人员使用
Stage -- 预发布环境,对标真实环境,做ACC测试
Production -- 产品发布环境
不同的环境,对版本的管理提出需求:
开发环境需要对开发者持续提交的commit做回归测试。
stage环境,对特性完成后提供ACC测试环境,不被开发者后续提交commit有影响。
Production,生效的版本只来源于stage验证过的版本,不受后续的commit没有影响。
版本管理需要应对这种前后依赖的工作流程。
The main three environments are: development, stage, and production.
Development
This is the environment that's on your computer. Here is where you'll do all of your code updates. It's where all of your commits and branches live along with those of your co-workers. The development environment is usually configured differently from the environment that users work in.
Stage
The stage environment is as similar to the production environment as it can be. You'll have all of the code on a server this time instead of a local machine. It'll connect to as many services as it can without touching the production environment.
Production
Every time you talk about making your project live, this is the environment you are talking about. The production environment is where users access the final code after all of the updates and testing. Of all the environments, this one is the most important.
GitFlow
https://www.gitkraken.com/learn/git/git-flow
Arguably one of the most popular Git branching strategies, Git flow was introduced by software developer Vincent Driessen in 2010 with the intent of simplifying release management.
Fundamentally, Git flow involves isolating your work into different types of branches.
The Git Flow Workflow
In the Git flow workflow, there are five different branch types:
- Main
- Develop
- Feature
- Release
- Hotfix
https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
The overall flow of Gitflow is:
- A
develop
branch is created frommain
- A
release
branch is created fromdevelop
Feature
branches are created fromdevelop
- When a
feature
is complete it is merged into thedevelop
branch - When the
release
branch is done it is merged intodevelop
andmain
- If an issue in
main
is detected ahotfix
branch is created frommain
- Once the
hotfix
is complete it is merged to bothdevelop
andmain
https://zhuanlan.zhihu.com/p/198066289
git flow 工具 和 元语句对应 理解
https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
git flow 工具
http://dominhhai.github.io/git-flow-cheatsheet/index.html
Basic tips
- Git flow provides excellent command line help and output. Read it carefully to see what's happening...
- The OSX/Windows Client Sourcetree is an excellent git gui and provides git-flow support
- Git-flow is a merge based solution. It doesn't rebase feature branches.