This article covers how team members create and promote feature branches in the Integration stage. The process follows the same foundations as Pipelines today, with a few important differences that reflect how Gitflow handles individual features and release preparation.
Creating feature branches and pull requests (PRs)
This article covers the core steps for creating feature branches and promoting PRs in detail. The key differences in Gitflow are:
Feature branches are created from
develop, notmain. This ensures contributors are always working from the most up-to-date version of the team's ongoing work rather than a production baseline.Once a PR is merged into
develop, its lifecycle ends. Unlike the expanded branching model, where a PR continues to be opened against and promoted through subsequent environments, merging intodevelopis the final step for an individual PR in Gitflow. From that point, the change is committed to shipping as part of the next release.Developer sandbox updates come from
develop, notmain. This ensures your team is always building from the latest shared state of ongoing work rather than waiting for changes to reach production.
If you are transitioning from the expanded branching model, another difference worth noting is that there are no promotion branches in Gitflow. The expanded branching model uses promotion branches to isolate feature branches and prevent them from being polluted by merge conflict resolution as they move through environments. Gitflow does not require this because feature branches only ever merge back into develop, after which everything moves forward together as a release.
What happens after a PR is promoted
Once a PR is merged into develop and deployed to the Integration environment, it is integrated with the rest of the team's in-flight work.
The counter on the right side of the environment increases to reflect the number of promoted PRs waiting for the next release, giving your release manager a running view of what will be included when the release branch is cut:
Once all the features for the next release are present in develop, you are ready to create a release branch.

