NetStacksNetStacks

Git Integration

Work with the Workspace as a Git repository without leaving NetStacks: status and diff, stage and commit, branch, and push/pull to GitHub, GitLab, or Gitea remotes.

Overview

When a Workspace is a Git repository, NetStacks detects it and exposes Git directly in the UI. This keeps script and template changes versioned alongside the device work that motivated them, instead of round-tripping through a separate Git client.

Git operations are executed by the local Agent against the Workspace repository on your machine.

Status & Diff

See which files are modified, added, or untracked, and review a diff of pending changes before you stage them. This is the same information git status and git diff provide, surfaced in the Workspace.

Commit & Branch

Stage selected changes, write a commit message, and commit. Switch between branches or create a new one for a change you are about to make. An AI-assisted commit-message option can draft a message from the staged diff, which you can edit before committing.

Tip

Branch per change. Combined with the file explorer, a short-lived branch makes an experimental config script easy to throw away or merge.

Remotes & Accounts

Push and pull against your remote. NetStacks stores the credentials it needs to authenticate to common hosts — GitHub, GitLab, and Gitea — so pushes from the Workspace do not require dropping to a shell. Credentials are held by the Agent in the encrypted local store, the same way other secrets are handled.

Note

Which operations are available depends on the remote and the credentials you have configured for it. Read-only use (status, diff, local commits) works with no remote at all.

Q&A

Q: Do I need a remote to use Git here?
A: No. Status, diff, staging, branching, and local commits work on any local repository. A remote is only needed to push or pull.
Q: Which hosts are supported for push/pull?
A: GitHub, GitLab, and Gitea remotes with stored credentials.
Q: Are my repository contents sent to NetStacks?
A: No. Git runs locally via the Agent; the only network traffic is between your machine and the Git remote you configured.