9. Practical Example: Using GitFlow

Let's walk through a practical example of using GitFlow for a hypothetical project.

Setting up a project with GitFlow

  1. Initialize a new Git repository:

    bashCopy code
    mkdir myproject
    cd myproject
    git init
    
  2. Commit an initial empty commit (this helps in setting up the base for branching):

    bashCopy code
    git commit --allow-empty -m "Initial commit"
    
  3. Create the develop branch and switch to it:

    bashCopy code
    git checkout -b develop
    

Now you have both master and develop branches, with develop being the one you'll work on.

Developing a new feature

  1. Create a new feature branch:

  2. Make changes for the feature and commit them:

  3. Once the feature is complete, merge it into the develop branch:

Preparing for a release

  1. Create a release branch:

  2. Make any final adjustments needed for the release (like bumping version numbers, updating documentation, etc.) and commit those changes.

  3. Once the release is ready, merge it into master and tag it:

  4. Also, merge the changes back into develop:

  5. Delete the release branch:

Handling hotfixes

  1. Create a hotfix branch from master:

  2. Make and commit the hotfix changes:

  3. Merge the hotfix branch into both master and develop:

  4. Delete the hotfix branch:

Merging back to the main branches

Throughout the GitFlow process, you've been merging changes back to the main branches (master and develop) at the end of each feature, release, or hotfix. This ensures that:

  • The master branch always reflects the production-ready state.

  • The develop branch always contains the latest delivered and approved features.

By consistently merging back, you ensure that both branches are up-to-date and that features, fixes, and releases are systematically integrated into your project's main lines of development.

Last updated