Weibo by Zhang Keqiang: Zhang Keqiang-agile 307
1. Multiple stable branches of the pioneer trunk; 2. Multiple pioneer branches of the Guardian trunk; 3. No branches of the trunk; 4. Single Branch of the Guardian trunk.
I. Multiple stable branches of pioneer
After a stable version is obtained, the stable version is placed on a new branch. The repair and makeup for this stable version is performed on this branch. New features are not developed on this branch, develop new functions on the backbone. This mode is widely used in the industry.
Some modifications on the stable branch, such as defect repair, need to be merged to the trunk, but some specific modifications do not need to be merged to the trunk. At this time, you need to pay attention to merging accurate files into the trunk.
For cases where it cannot be merged into the trunk, it is common to pull another branch, which is used for a few specific cases. But globally, it may lead to too many branches, different branches are messy, so this is not recommended. We recommend that you use the configuration switch.
2. After obtaining a stable version for multiple pioneer branches of the Guardian master, pull out the pioneer branch, develop new functions on the branch, and repair and supplement the master. After the pioneer branch passes a certain test, it is merged into the trunk.
There can be multiple pioneer branches at the same time, and different functions can pull different branches. The content to be developed simultaneously at different release points must be on different branches.
From the perspective of publishing, we recommend that you put the content that must be released together on the same pioneer branch.
3. The trunk has no branches, but no branches. All urgent and normal modifications are made on the trunk. If half of the work is to be developed, it should be cleverly hidden. It puts forward high requirements on the structure of the program, and it is convenient to split and combine the program. The switch configuration is indispensable. In terms of efficiency, this is the most efficient mode. Many supporting measures are required. Common supporting measures: daily integration (Compilation and deployment testing), static code check, testing not only includes unit testing, interface testing, but also interface automation testing.
4. The single branch of the daemon trunk has only one branch. It is urgently modified on the trunk and normally developed on the branch. The trunk and branch are synchronized in two directions as needed. It is necessary to adopt the same supporting means as the trunk without branches, and daily integration or even continuous integration must be built on both the trunk and the branch.
The above four modes are typical of trunk branch development. In practical applications, the first two are more common. In case of extremely special issues during trunk development without branches, it is not ruled out to pull short branches. In the first mode, when developing a stable branch of the pioneer Master, there is no branch with the third mode master, which can be converted to each other within a period of time.