small logo Flutter Academy

How to use Git and Gitflow

Git is a widely used distributed version control system that allows development teams to track and manage changes in the source code of a project. It provides an efficient and secure way to collaborate on software development, maintaining a complete history of changes made. However, to make the most of Git and keep an organized workflow, it's necessary to use a structured methodology like Gitflow.

Gitflow explanation:

Gitflow is a workflow methodology for Git that proposes a structure and a set of rules for organizing and managing branches in a project. The methodology is based on the use of two main branches: master y develop.

The branch master contains the stable code and is used to produce release versions of the project. The branch develop se deriva de master y sirve como base para el desarrollo de nuevas características.

RAMA MASTER:

      A---B---C---D---E   (rama master)

RAMA DEVELOP:

                   F---G   (rama develop)
                  /
     A---B---C---D---E   (rama master)

In addition to the main branches, Gitflow uses other secondary branches for different types of changes. Feature branches (feature branches) are created from the branch develop ) are used to develop new features. Hotfix brancheshotfix branches) se utilizan para solucionar problemas críticos en la versión de producción y se derivan de master.release branches (release branches) are created to prepare a new version of the project and branch off from develop.

RAMA DE FEATURES:

               F---G   (rama develop)
              / \
 A---B---C---D---E---H---I   (ramas de características)

RAMA DE HOTFIX:

       F---G   (rama develop)
      / \
A---B---C---D---E---H---I---J   (ramas de características)
             \
              K---L   (ramas de hotfix)

Release branch:

               F---G   (rama develop)
              / \
 A---B---C---D---E---H---I---J   (ramas de características)
                           \
                            M---N   (ramas de lanzamiento)

This organized structure and Gitflow rules allow teams to work collaboratively and efficiently. Each branch has a clear purpose and merges into the corresponding branch once the work is completed. This ensures that changes are implemented in a controlled manner and that stable code remains protected. Additionally, the methodology facilitates testing, issue resolution, and preparation of stable releases.

Using Git and adopting a workflow methodology like Gitflow provides a solid foundation for collaborative and efficient software development. By utilizing well-defined branches and following a structured workflow, teams can maintain a complete history of changes, collaborate effectively, and ensure the quality of the delivered software. Gitflow provides clarity regarding responsibilities and development stages, which helps maintain project stability and enables continuous delivery of new features and fixes. Ultimately, Gitflow contributes to improving productivity and software quality, resulting in successful projects that meet the needs of both developers and end users.

Did you like it? Share it!
Lastest posts