A brief introduction to Gitflow workflow (release-centric development model)

foreword

This is the official website of Gitflow: https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow This article mainly introduces the concept of Gitflow.
Some of the following content comes from "Github Introduction and Practice".
Gitflow is a release-centric branch management model that provides a more flexible way to manage changes in a codebase. Github Flow, on the other hand, is a deployment-centric development model that deploys continuously at high speed and safely through simple rules. For details, please see another article Brief introduction to Github Flow workflow (deployment-centric development model)

basic concept

insert image description here
For GitFlow, the process is, first of all, at the beginning of the project, Master/Main is separated into Develop, and developed on the basis of it; for some functions, the Feature branch is separated separately, and these branches are realized, and a merge request is proposed. After the administrator agrees, After merging into the Develop branch, the original Feature can be deleted; when the Develop development is almost done, branch out the Release branch, which is the pre-release branch; after testing without any problems, submit it to the Master and create a label, that is The first generation of officially launched products (master is the stable version, release is the version released to the outside world; after the release is confirmed, the functions will basically remain unchanged, and only bugs will be repaired); if there is a problem, a hotfix will be released in the branch, and after the emergency repair , after merging to Master, you can also create another label.

git-flow auxiliary tool

After installation, you can use some auxiliary commands it provides. For example, the one below ends the feature/1.0.0 branch, the code will be automatically merged into the dev branch, and then it will automatically switch to the dev branch. But in short, it is still quite troublesome to use, especially under the premise of the cooperation of many people. The book also introduces it in detail, so I won’t describe it here. If it is really used, it will be summarized.
insert image description here

git flow feature finish 1.0.0

shortcoming

The problem with this development process is that there are many branch states that need to be memorized, and the entire development process must be studied systematically before implementation. Although the git-flow tool assistance mentioned above can be mentioned, in many cases, the overall process is still too complicated for our actual development site.
In this process, programmers must understand which branches will be affected by the changes they are making. After work on a branch is complete, it is sometimes necessary to branch merge with multiple targets. These are the most complex parts of the process, and due to their high complexity and prone to human operations such as operational errors, they need to be handled carefully by the team.

Supongo que te gusta

Origin blog.csdn.net/Fishermen_sail/article/details/127876725
Recomendado
Clasificación