Tower Help & Support

Overview

Tower provides comprehensive workflow support designed to enhance your productivity and streamline your development process. Whether you're working with traditional Git workflows or need highly customized branching strategies, Tower's workflow features help you maintain consistency, reduce errors, and improve team collaboration.

Custom Git Workflows

Tower 14 introduces Custom Git Workflows, a powerful new feature that allows you to create, customize, and enforce Git workflows tailored to your project's specific needs. This feature gives you the flexibility to define your own branching strategies with unlimited customization options, whether you want to implement something similar to git-flow or create an entirely unique workflow for your team.

Beta Feature Custom Git Workflows is currently in Beta. Enable it by changing the Release Channel to "Beta" under Settings > Updates.

Custom Git Workflows empowers you to configure two distinct types of branches with clear roles and behaviors. Base branches serve as your foundational, long-lived branches (like main, develop, or staging), while topic branches handle specific features, bug fixes, or hotfixes. You can establish dependencies through parent-child relationships, ensuring that changes flow properly through your development pipeline.

The key benefits of using Custom Git Workflows include creating standardized development environments that make your team more productive. New team members can quickly understand project conventions through clear naming patterns and well-defined behaviors. By standardizing workflows, you reduce mistakes across your entire team and create systems that are ready for automation when you need to scale your processes.

Tower's workflow system provides quick branch creation with appropriate prefixes and starting points, smart finishing that completes branches using your predefined merge strategies, and proactive synchronization that keeps child branches updated with their parents. You'll get notified about potential merge conflicts before they happen, and Tower will prompt you to sync changes when necessary, such as when hotfixes are merged into a parent branch of your development branch.

You can access Custom Git Workflows by clicking the "Workflows" icon in the left sidebar, next to Services and Bookmarks. Tower offers predefined workflow templates including GitHub Flow, GitLab Flow, and git-flow, or you can create a completely custom workflow from scratch. Tower will attempt to auto-detect existing workflows based on your current branches, making it easy to get started with repositories that already have established branching patterns.

Stacked Branches

Tower also offers comprehensive support for "Stacked Branches", where branches can have dependencies on one another in a sequential chain. This approach is particularly useful when you're developing a series of features that depend on each other, or when you want to split large feature development into smaller, more manageable sets of changes.

Stacked branches work exceptionally well with the "Stacked Pull Requests" workflow, where you can submit multiple related pull requests that build upon each other. This allows for more focused code reviews and easier integration of complex features.

To keep stacked changes synchronized across all dependent branches, Tower provides a "Restack" action that automatically aligns all changes from dependent branches. This ensures that your entire stack remains consistent as you make changes to individual branches in the sequence.

External Workflows

Beyond custom workflows, Tower integrates seamlessly with established external workflow systems that many teams already use in their development process.

Graphite Workflow

Tower's Graphite integration enables stack-based development where branches can depend on other branches in sequential chains. This approach excels when you're developing features that build upon each other or when you want to split large development efforts into smaller, more focused changes that are easier to review.

The Graphite workflow works exceptionally well with the "Stacked Pull Requests" model, where you submit multiple related pull requests that build upon each other. Tower provides the visual interface and branch management capabilities while Graphite CLI handles the underlying stack logic. This combination allows for more focused code reviews and easier integration of complex features.

To get started with the Graphite workflow, you'll need the Graphite CLI installed on your system. Tower then provides visual tools for managing stacked branches and keeping your entire stack synchronized as you make changes.

Git-Flow CLI Integration

For teams already using the traditional git-flow branching model through the git-flow command-line tool, Tower offers native integration that combines git-flow's structured approach with Tower's visual interface. This integration works well for teams who want to maintain their existing git-flow processes while gaining the benefits of Tower's branch visualization and management features.

Git-flow CLI workflows implement the classic git-flow branching model with dedicated branches for features, releases, and hotfixes. Tower's integration respects your existing git-flow configuration while providing visual tools for branch creation, merging, and status tracking.

Next Steps

To get started with workflows in Tower:

  1. Choose your approach: Review choosing a workflow to understand Custom vs External Workflows
  2. Configure Custom Workflows: Learn about configuring your branches and setting up dependencies
  3. Explore specialized workflows: Discover stacked branches for complex feature development

Each workflow type offers different benefits depending on your team's size, development process, and integration requirements.