Git Workflow

Good project organisation and versioning is essential for software development, as it is for all engineering. A common way of versioning has become established: v<major>.<minor>.<patch>.

  • Major is incremented when API incompatible changes are released (reassignment)

  • Minor is incremented when new functionality is released that is compatible with the previous API.

  • Patch is incremented if the changes are API-compatible bug fixes only.

See also

https://www.geeksforgeeks.org/introduction-semantic-versioning/

In Git, the master/main branch is the release branch by default configuration. The Git version control system provides the ability to tag certain points in a repository with git tag. In the case of versioning, the tags can be used to set the current version on the release branch.

See also

https://www.atlassian.com/git/tutorials/inspecting-a-repository/git-tag

In addition to the master branch, a development branch can be used to test the application. For features and problem solving, feature branches (fb) are generally used. The resulting tagged Git tree can be visualised as follows:

Git Workflow

Proper Git Workflow