trunk development

Google uses "trunk-based development". Code is generally committed to the head of the trunk. This ensures that all users see the latest version of the same code.

"Trunk development" avoids the hassle of merging branches. Google generally does not use branch development, branches are only used for release. Most of the time, a release branch is a snapshot of the trunk at some point in time. Future debugging and feature enhancements are submitted to the trunk, and cherry-pick to the release branch if necessary. Development branches that run parallel to trunk for a long time are very rare at Google.

Since it does not use "branch development", Google introduces new features, generally using switch controls in the code. This avoids another fork, and also makes it easy to switch features via configuration, and to easily switch back to the old feature if the new feature fails. Wait until the new features are stable, and then completely remove the old code. Google has routing algorithms similar to A/B testing to evaluate the performance of code, which is easy to implement thanks to configuration switches.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326288332&siteId=291194637