Flow & Git
Atrahasis has a built-in Git client that operates per flow group — every flow group is its own repository, with its own history, branches, and remotes.
Per-Flow-Group Repository
Each flow group folder is tracked as an independent Git repository. This means a single Atrahasis workspace can have many small, focused repositories — one per API surface, project, or team — instead of a single mega-repo. You decide the granularity, and you can connect each one to a different remote (GitHub, GitLab, internal, anywhere).
- •Scope: Flows, environments, lifecycle scripts, and assertions inside the group are versioned. OS secrets and Vault values stay out by design (only the metadata is tracked).
- •Isolation: A commit in one flow group never touches another. Branching, merging, and rebasing happen inside that group's repo only.
- •Same model for Load Test: Load test spec groups also get their own repo. The Git panel adapts to whichever scope you opened it from.
Opening the Git Panel
Right-click any flow group in the sidebar and pick Git from the context menu (alongside Rename / Environments / Delete). The Git panel takes over the main area and shows the repo state for that group.
Top bar at a glance:
- •Breadcrumb: flows/<group-name> — confirms which scope you are operating on.
- •Pull / Fetch buttons: Sync with the configured remote without leaving the panel.
- •Active branch indicator: Shows the currently checked-out branch (e.g., Active: main).
What the Git Panel Covers
The left sidebar of the Git panel exposes six sections. Everything is built into Atrahasis — you do not need an external Git client, terminal, or IDE plugin to version your flows.
| Section | What you can do |
|---|---|
| Overview | Repo status (branch, last commit, remote, sync state), quick stats (modified / untracked / staged counts), recent commits list, suggestions card (e.g. "1 file(s) changed — stage and commit"), and quick action buttons: Commit, New Branch, Stash. |
| Changes | Staged / unstaged file lists, side-by-side diff preview (Original vs Modified) with line numbers, commit message editor, and the Commit to <branch> / Commit & Push buttons. |
| History | Commit graph with HEAD / branch / remote badges, searchable commit list, per-commit detail panel showing author / date / file changes, file diff view, and blame view. |
| Branches | List local + remote branches, create / switch / delete, and a dedicated Compare Graph view to visualize divergence between two branches. |
| Stashes | Save in-progress changes as a stash, browse the stash list, view per-stash diffs, and apply or drop entries. |
| Settings | User config (name & email), connection setup (HTTPS / SSH), saved connections, and quick connect for new remotes. |
Conflict resolution is built in too: Merge conflicts (in-memory, after-pull, or after-stash-apply) open a 3-way merge view with side-by-side panels so you can resolve and continue without dropping to a terminal.
Why It Matters for Flows
- •Review changes safely: The diff preview shows exactly what changed in flow.json before you commit — added assertions, modified steps, edited environment vars — so you never push a half-finished flow by accident.
- •Branch per feature: Test a risky refactor on a branch, run the flow there, and merge back when you are confident — same workflow as production code.
- •Team sharing: Push the flow group to a shared remote so teammates clone it and run the same flows against the same environments. No JSON copy-paste, no broken extractions.
- •Audit trail: History + blame answer "who changed this assertion and when?" the same way you would in any source repo.
- •Stash WIP: Quick experiment on a flow you have to put down? Stash it, switch branches, come back, pop it.
This page covers how Git fits into a flow group's lifecycle. For the full Git client reference — Setup Wizard, connection types, all panel sections in depth, conflict resolution flows, and best practices — see the dedicated Git Integration guide section.