GitHub Flow
Instantly configure the simplest and most agile Git branch structure:
- "main" (or "master") as the "Trunk"
- Feature Branches for every new feature, fix, or experiment
Start, iterate on, and integrate new features or hotfixes with a predictable, continuous delivery workflow. Tower makes Pull Requests simple, ensuring your branches stay in sync and proactively warning you of potential merge conflicts.
Define your preferred merge strategies and automatically clean up branches once the work is complete.
Take absolute control over your GitHub Flow implementation with Tower Workflows!


Tower Workflows with GitHub Flow
Getting up and running is simple!

Step 1: Choose the GitHub Flow Preset
Select the "GitHub Flow" preset to configure Tower with the base and topic branches of this workflow.
Step 2: Customize it!
Start with the GitHub Flow preset, then tailor everything to your team's exact needs.
Tower Workflows lets you fine-tune every aspect of your branching process:
- Add and remove Base and Topic branches.
- Keep branches updated by defining their parent.
- Define upstream/downstream merge strategies.
- Enable or disable merge commit creation.
- Enable or disable tag creation when integrating changes.


Step 3: Begin and Finalize Your Task
To begin, click the "Start..." option. This instantly creates and checks out a dedicated feature branch for your work.
When complete, click "Finish..." to integrate your changes. Upon a successful merge into "main", your local branch will be automatically deleted.
Keeping Branches in Sync
With the parent branch set up, Tower can easily notify you whenever it's time to update your topic branch and inform you if any merge conflicts will occur during the process.
What is GitHub Flow?
GitHub Flow is a lightweight, branch-based workflow centered around a single main branch (often called "main" or "master") that is always deployable. For every new feature or fix, developers create a short-lived branch off of main, commit changes, open a Pull Request (PR) for review, and merge the branch back into main once approved. It is designed for continuous delivery and rapid iteration.
Why use GitHub Flow?
- Continuous Deployment: Since the main branch is always in a deployable state, every merge can be shipped immediately, enabling rapid releases and smaller, frequent updates.
- Clear Feedback Loop: Pull Requests serve as the central place for discussion, review, and automated testing, ensuring code quality before merging.
- Simple and Intuitive: Its straightforward structure relies on only two main concepts (branches and Pull Requests), making it easy to understand and adopt for teams of any size.