Skip to main content

Git

📄️ Trunk-Based Development (TBD)

The Trunk-Based Development (TBD) strategy is applied in projects where the main values are release frequency and speed. It is characterized by frequent commits and merges into a single main branch. If feature branches are used, they exist for no longer than a few days or hours. Under this strategy, the main branch is always ready for deployment to production, although release branches may also be used. This approach is more often used in small teams due to the need for close interaction and good communication among developers, clear process organization, and discipline.

📄️ Git Flow

Git Flow is a popular branching strategy in Git, developed by Vincent Driessen link, for a structured development process. The main branches are main for production code and develop for integrating new features. Feature branches are created from develop and merged back after completion. Release branches prepare releases, merging into both main and develop. Hotfix branches are for urgent production code fixes and also merge into both main branches. This strategy supports parallel development, simplifies large project management, and minimizes conflicts.

📄️ Parallel Releases

The Parallel Release Git strategy allows managing multiple versions of a product simultaneously. Separate release branches (release-x.x) are created for each release, enabling the preparation and testing of different product versions in parallel. Feature branches can be created from release-x.x branches, which serve as develop branches for the corresponding releases. This approach helps isolate changes and manage multiple product versions simultaneously, which is especially useful for projects with long development cycles and support for older versions. However, it requires strict branch management and synchronization of changes. An important feature is the designation of major and minor releases for their sequential synchronization.

📄️ Git Fork Strategy

The Fork Git Strategy is an approach to repository and branch management primarily used in open-source projects but can also be effectively applied in corporate projects. This strategy allows developers to work on a project without having direct access to the main repository. Instead, they create their own copies (forks) of the main repository and make changes to them. The Fork Git Strategy provides an excellent solution for isolating changes, enhancing security, and ensuring code quality, but it requires careful organization and management, especially in a corporate environment. This strategy is effective for projects with a large number of contributors and external contractors.