### Introduce hot fix branch management

After the introduction of hot repair technology, it is necessary to introduce a Fix branch for better branch management, so the branches are as follows:

  1. Master branch: This branch is a stable branch. It cannot have a COMMIT, but it can have a tag.
  2. Dev branch: Dev branch, a branch that develops new features, fixes bugs, etc. The code is merged by a personal branch. After each release of a new version, you need to override it using the Master branch.
  3. Personal branch: Personal development branch.
  4. Fix branch: dedicated to managing online BUG hotfixes.

### Hotfix process

When hot fixes are not introduced, the version management strategy is simple:

After introducing hot fixes, a dynamically updated version was inserted between different versions:

In addition to fixing bugs, hotfix technology can also add some holiday features.

The following takes online BUG repair as an example, and the related process of release and online BUG repair is as follows:

  1. The personal development branch is merged into the dev branch
  2. The dev branch test passes
  3. The dev branch merges with the master branch, tags it, and releases the version
  4. There’s a BUG on the line
  5. Merge the current stable version of the Master branch into the Fix branch, and then fix the corresponding BUG
  6. Test verification passed
  7. Merge the corresponding commit into the Master branch
  8. Generate the corresponding Patch file and submit it to the server
  9. The user APP requests the server to download and install Patch, restart and fix the BUG
  10. In the next iteration, the master branch is merged into the Dev branch (the online BUG fix submission is already there), and the personal branch is pulled from the Dev branch for development
  11. Finally, repeat process 1

Generally speaking, are the beginning of the release version, mid-release patch version, which, there is no BUG if the patch version can not.

### Introduces issues to be aware of after hot fixes

After the introduction of thermal repair, it is not easy to rest assured. The following problems need to be noted:

  1. The emphasis is still on code quality and not too much on hotfix technology
  2. The release of hot repair technology should be as strict as the normal release, and should be verified through rigorous testing
  3. It is better to have a patch version between versions