Deployment Strategies (GitFlow) - sebas0163/My_RESTaurante GitHub Wiki

Git Structure(GitFlow)

As part of version control and to work in the most efficient and modular manner within the project, the GitFlow structure will be utilized. This methodology is outlined below.

Master (Main)

  • This branch contains the stable version of the code, meaning it is software ready for production deployment.
  • To integrate changes into this branch, the "Pull Request" must be approved by all members.

Release

  • This branch is dedicated to hosting stable code that will undergo testing before being merged into the main branch.
  • This branch receives the stable code from the "Develop" branch.

Develop

  • Considered the central development branch.
  • Here, all feature branches of the software are integrated.

Feature Branches

  • For each feature added to the software, a branch of this type will be created.
  • As it is a small-scale project, each branch will be worked on exclusively by one developer.
  • When creating a feature branch, it will be branched off from the develop branch.

Hotfixes

  • This is an intermediate branch between the main and develop branches.
  • It consists of a branch for quick fixes of errors encountered in the master branch.
  • If the error requires a complex solution, it is sent back to the develop branch.
  • Once the error is resolved, it is integrated into the main branch.

Attached is a diagram illustrating the versioning flow and structure. Diagrama de GitFlow

Commit Convention

  • As a convention, commit messages will be written in English.
  • Each commit must have a meaningful message.
  • In order to maintain order, it is recommended to include a "tag" in the commit message to understand the change.
  • The tags can be [ADD], [DELETE], [FIX], [UPDATE].
  • An example of a message would be: [ADD] GUI to the web server