Skip to content

Git Integration ​

Requesto has built-in git support so you can version control your workspace data and share it with a team. Git operations run through the backend using the git installation on your machine.

Requirements ​

Git must be installed and available on the system PATH. Requesto checks for this automatically and shows a warning if git is not found.

Initializing a Repository ​

If your workspace is not already a git repository, you can initialize one from the git panel. This runs git init in the workspace directory and creates .requesto/.gitignore, which excludes the local/ subdirectory containing local-only data like request history and OAuth secrets.

Cloning a Repository ​

You can create a new workspace by cloning a git repository. In the workspace switcher, click Add Workspace..., choose Clone from Git, then enter the repository URL and an optional access token for private repos.

Clone from git formClone from git form

The repository is cloned into the workspaces/ directory and registered as a new workspace. Git operations (commit, push, pull, branch management) are available immediately. See Workspaces for more on workspace management.

Git Status ​

The workspace switcher shows a branch icon next to workspaces that are git repositories. The git panel displays the current branch, ahead/behind commit counts, and the status of changed files. A git status bar at the bottom of the sidebar shows the branch, changed-file count, and quick pull/push/refresh actions.

Status is refreshed automatically: it fetches from the remote on each check, polls periodically, and refreshes when you change workspace data.

The status view only shows Requesto-owned files (collections, environments, OAuth configs, and the .requesto/ directory). Files belonging to the rest of your project are intentionally hidden, so Requesto works cleanly inside an existing repository without polluting the diff view.

Git changes panel showing modified Requesto filesGit changes panel showing modified Requesto files

Committing Changes ​

Click Commit in the git panel, enter a commit message, and confirm. Only Requesto-owned files are staged automatically — the .requesto/ directory (which contains the per-item collections/, environments/, and oauth-configs/ folders plus their order.json manifest). Your project source code is never touched.

Push always targets the origin remote. If you push with uncommitted changes and no new commits, Requesto prompts you for a commit message first so you can commit and push in one step.

Push and Pull ​

Push sends your commits to the remote. Pull fetches and merges changes from the remote. If there are uncommitted local changes when you pull, they are automatically stashed and re-applied after the merge.

Branch Management ​

The Branches section of the git panel lists all local branches. The currently checked-out branch is highlighted with a checkmark.

Git branches panelGit branches panel
  • Checkout — click a branch name to switch to it. Requesto will reload your collections and environments from the new branch.
  • Create — click the + button to create a new branch from the current HEAD. You can also right-click any branch and choose New branch from here to branch from a specific point.
  • Rename — right-click a branch and choose Rename.
  • Delete — right-click a branch and choose Delete. The active branch cannot be deleted.

WARNING

Switching branches requires a clean working directory. Commit or discard any pending changes before checking out a different branch.

Conflict Resolution ​

If a pull results in merge conflicts, the git panel shows the conflicted files and lets you apply one strategy to all of them at once:

  • Keep Local - keep your local version of every conflicted file (ours)
  • Accept Incoming - accept the remote version of every conflicted file (theirs)

Clicking an individual conflicted file opens a read-only diff viewer so you can inspect the difference before choosing. After resolving, commit the result.

Commit History and Diffs ​

The git panel also shows recent commits with their hash, message, author, and relative date. Click any changed file in the status view to see its diff in a dialog before committing.

Remotes ​

The git panel lists configured remotes. You can add a new remote by providing a name and URL. This is useful if you initialized a local repository and want to connect it to a remote host.

What Gets Committed ​

FileCommittedWhy
.requesto/order.jsonYesDisplay order of collections, environments, and configs
.requesto/collections/YesShared API definitions (one file per collection)
.requesto/environments/YesShared environment configs (one file per environment)
.requesto/oauth-configs/YesOAuth configs without secrets
.requesto/mock-endpoints/YesShared mock server endpoints (one file per endpoint)
.requesto/local/mock-data/NoDynamic mock datasets changed by test traffic
.requesto/local/active-environment.jsonNoYour active environment selection
.requesto/local/history.jsonNoLocal request history
.requesto/local/oauth-secrets.jsonNoContains client secrets

Workspace data is stored inside the .requesto/ subdirectory of your workspace folder. A .requesto/.gitignore file is created automatically when you initialize or clone a repository — it excludes the local/ subdirectory so that sensitive data and request history stay on your machine.

This layout is designed to work inside existing git projects. You can point Requesto at a directory that already has source code; only the .requesto/ folder will be touched.

Private Repositories ​

When cloning or pushing to a private repository, provide a personal access token or app password. The token is used for authentication during git operations over HTTPS.

Released under the MIT License.