Git Integration

Stage, commit, push, and pull without leaving your browser.

Overview

CloudForge includes a built-in Git panel that lets you manage your repository directly from the web interface. See changes at a glance, stage files, write commit messages, and sync with your remote - all without touching the terminal.

Opening the Git Panel

The Git panel is located below the file tree in the left sidebar. Click the Git icon in the header to toggle it on or off.

Features

View Status

The Git panel shows the current branch and lists all changed files:

  • Staged - Files ready to be committed (green)
  • Modified - Changed files not yet staged (yellow with M badge)
  • Untracked - New files not in the repository (blue with U badge)

Stage & Unstage

  • Stage a file - Click the + button next to the file
  • Stage all - Click "Stage All" at the top of the Changes section
  • Unstage a file - Click the - button next to a staged file
  • Unstage all - Click "Unstage All" at the top of the Staged Changes section

Discard Changes

To discard local changes to a modified file, click the (revert) button. You'll be asked to confirm before the changes are discarded.

Commit

  1. Stage the files you want to commit
  2. Enter a commit message in the text area
  3. Click the Commit button

The commit message area only appears when you have staged changes.

Push & Pull

Use the buttons in the Git panel header:

  • Pull ↓ - Fetch and merge changes from the remote. Shows the number of commits behind if any.
  • Push ↑ - Push your local commits to the remote. Shows the number of commits ahead if any.

View History

Click the History tab to see recent commits:

  • Commit hash (short)
  • Commit message
  • Author and date

Requirements

Git must be installed

The server running the CloudForge Agent must have Git installed and configured.

SSH Keys

For push/pull to work with private repositories, ensure your server has SSH keys configured for the remote (e.g., GitHub, GitLab).

ssh-keygen -t ed25519 -C "your_email@example.com"
cat ~/.ssh/id_ed25519.pub
Add this key to your GitHub/GitLab settings

Tips

  • Click on a file in the Git panel to open it in the editor
  • Refresh status by clicking the refresh button in the Git panel header
  • Use the terminal for complex Git operations like rebase, merge, or interactive staging

Troubleshooting

"Not a Git repository"

The current directory is not a Git repository. Initialize one using the terminal:

git init

Push/Pull fails

Common causes:

  • No remote configured - use git remote add origin <url>
  • SSH keys not set up - see the SSH Keys section above
  • Authentication required - for HTTPS, you may need a personal access token