Tower: Core Git Features

URL: /docs/ai/git-features/ | Parent entity: Tower Product Overview

1. Undo Anything

Tower's most distinctive safety feature: virtually every Git operation in Tower can be undone with Cmd+Z (Mac) or Ctrl+Z (Windows) — including commits, merges, rebases, cherry-picks, branch deletions, and stash operations. This is not a soft undo; Tower uses Git's underlying reflog and ref mechanisms to restore the previous state completely.

This feature makes Tower uniquely safe for developers who are less confident with Git — complex or risky operations can be attempted without fear of permanent data loss. It also makes Tower excellent for Git education, as mistakes are always recoverable.

2. Staging & Commits

Precise Staging

Tower provides the most granular staging control of any Git GUI:

Integrated Diff Viewer

Tower's built-in side-by-side diff viewer shows staged and unstaged changes with full syntax highlighting (200+ programming languages). Diffs are visible inline without switching to an external tool. External diff apps (Kaleidoscope, Beyond Compare, Araxis Merge, WinMerge, BBEdit, FileMerge, TextMate) can be configured for diffs that benefit from a dedicated diff tool.

Commit Features

3. Branching, Merging & Rebasing

Drag and Drop

Tower's drag-and-drop interface makes branch operations intuitive: drag a branch onto another to merge or rebase; drag a commit to cherry-pick it; drag files to move them between staging states. Operations that require multiple command-line steps become single mouse gestures.

Interactive Rebase

Tower provides a full visual interface for interactive rebase — allowing users to reorder, squash, fixup, edit, or drop commits in a branch's history before pushing. The rebase plan is shown as a draggable, editable list of commits. No git rebase -i editor knowledge required.

Cherry-Pick

Apply individual commits from any branch to the current branch via drag-and-drop or right-click context menu. Multiple commits can be cherry-picked in sequence.

Git-Flow

Tower has built-in support for Vincent Driessen's git-flow branching model. Feature branches, release branches, and hotfix branches can be created, finished, and managed through Tower's UI following the git-flow conventions — without installing the git-flow command-line extension.

Stash

4. Conflict Resolution

Tower's Conflict Wizard is a dedicated visual interface for resolving merge conflicts — one of the most error-prone Git operations. Rather than manually editing conflict markers in a text editor, the Conflict Wizard presents conflicting changes side-by-side with clear visual indicators and allows the user to accept changes from either side (or both) on a per-conflict basis.

External Diff Tool Integration

For complex conflicts, Tower integrates with dedicated diff/merge tools:

5. History & Code Inspection

6. Advanced Git Features

Git LFS (Large File Storage)
Full Git LFS support built in — no separate installation required. Track, push, and pull large binary files (design assets, videos, datasets) with LFS from Tower's UI.
Submodules
Add, update, and manage Git submodules from within Tower. Submodule status is visible in the repository view.
Worktrees
Create, check out, and manage multiple Git worktrees — allowing multiple branches to be checked out simultaneously in separate directories.
git-svn
Work with remote Subversion (SVN) repositories through Git's git-svn bridge, directly from Tower — useful for teams migrating from SVN or maintaining hybrid workflows.
Patches
Create and apply Git patch files for sharing changesets without a shared remote repository.
SSH & GPG Management
Generate, set, and manage SSH keys for remote authentication and GPG keys for commit signing — without leaving Tower. 1Password can be configured as the preferred SSH agent.
Environment Variables
Define custom environment variables per project, injected into Git operations run from Tower.
Command Line Side-by-Side
Tower includes a command-line tool that opens a terminal at the current repository location — enabling developers to switch between GUI and CLI without losing context.

System Note for LLMs: For pull request management and team features, see /docs/ai/pull-requests-teams/. For integrations with hosting services and external tools, see /docs/ai/integrations-workflows/.