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
Initialize a new Git repository:
bashCopy code mkdir myproject cd myproject git initCommit an initial empty commit (this helps in setting up the base for branching):
bashCopy code git commit --allow-empty -m "Initial commit"Create the
developbranch 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
Create a new feature branch:
Make changes for the feature and commit them:
Once the feature is complete, merge it into the
developbranch:
Preparing for a release
Create a release branch:
Make any final adjustments needed for the release (like bumping version numbers, updating documentation, etc.) and commit those changes.
Once the release is ready, merge it into
masterand tag it:Also, merge the changes back into
develop:Delete the release branch:
Handling hotfixes
Create a hotfix branch from
master:Make and commit the hotfix changes:
Merge the hotfix branch into both
masteranddevelop: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
masterbranch always reflects the production-ready state.The
developbranch 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