← Back to Store
🔀

Git Manager

Your repositories on this server, without leaving the browser.

v1.12.5 🧰 Developer Tools 💎 Premium available developergitsource-control
No ratings yet
Install mvmOS Install Git Manager from the mvmOS App Store

About

Git Manager finds the git repositories on the machine and gives each one the working surface you would otherwise get from a terminal: branch switching, pull, push, fetch, a diff of what changed, and a commit box. It also handles the part that usually blocks a fresh server — SSH keys. Generate an ed25519 key, copy the public half, paste it into GitHub or GitLab, and test the connection from the same window. Every profile can manage the repositories it owns. Repositories belonging to other profiles still appear, clearly locked and without exposing their status, history, files or remotes. Normally you switch to the owner profile to work with one. With Premium, a sudo-capable user confirms their own password once and unlocks all repositories for the current session, while Git commands continue to run as each repository's real owner.

What it does

  • Auto-detect git repositories on the machine, in /var/www, /opt and the home folders plus any folders you add in the settings, with a sidebar to switch between them. Star the ones you work on: favorites stay on top and refresh every time the window opens, while the rest are listed without slowing it down until you need them.
  • Give a repository a display name that only Git Manager shows, while the folder and the repository keep their real name.
  • Clone a repository from a URL, or initialise a new one with an optional remote.
  • Switch branches, including remote branches, or create a new one from the toolbar, choosing whether it starts from the freshest remote main branch, your local copy of it, or the current branch exactly as it is.
  • Pull, push and fetch, with ahead/behind counts. Push sets the upstream automatically the first time a new branch is pushed. A branch that matches a branch on origin but lost its tracking link is reconnected automatically, so ahead/behind counts and pull keep working.
  • A small badge next to the branch name shows when the current branch has not been pushed anywhere yet.
  • See changed files and the diff for each.
  • Commit all changes with a message (Ctrl+Enter to send), or commit and push in one step. When your repository has a Git commit template, one click fills the message box from it; otherwise the same button shows how to set one up.
  • Suggest a commit message from the changed files and folders, filled in so you can accept or rewrite it.
  • Discard changes in one file or in the whole tree.
  • Commit log per repository.
  • Open a terminal for the selected repository right inside the window, docked at the bottom or on the right. Each repository keeps its own live terminal while you switch between them, and the changed files refresh on their own when something in the terminal edits the working tree. The terminal opens in the repository's folder and its shell keeps running on the server, so after a dropped connection or a reloaded page it reconnects to the same shell with whatever was running in it, and closing the terminal ends that shell.
  • Save a deploy command per repository, such as php artisan deploy or composer deploy, and run it with one Deploy button in its own interactive terminal, where prompts and passwords can be answered.
  • Generate an ed25519 SSH key, copy the public key, and test the connection to GitHub, GitLab or any other host.
  • See repositories owned by other profiles as locked entries, and either switch to the owner profile or unlock all of them from one place with Premium and sudo confirmation.
  • Show the text of a repository's terminal as plain text in an ordinary box, where it can be selected and copied even when the program inside the terminal blocks selecting, and start a fresh terminal for a repository with one button.
  • Issue lists show matching local or remote branches, and status refreshes keep an open issue visible. The current branch's issue is highlighted in the issue list, and its title appears when you hover over the branch name.

💎 With Premium

Cross-profile repository access

Git Manager always shows that repositories owned by other system profiles exist, but keeps their status, history, files, remotes and actions locked. With Premium, a sudo-capable user confirms their own password once and unlocks every repository for the current mvmOS session, while each Git command still runs as the repository's real owner. Without Premium, nothing is lost: sign in to the corresponding owner profile and manage the same repository there.

GitHub Issues

View open and closed GitHub Issues, inspect their details and comments, create new issues, edit an issue's title and body afterwards, and close or reopen them. Creating or editing an issue lets you set its assignees, labels and milestone straight from the repository's own GitHub data. Issue bodies and comments render as Markdown, including clickable task-list checkboxes that save back to GitHub the moment you check or uncheck one — no need to open the editor. A formatting toolbar (headings, bold, italic, quote, code, links, lists, checklists) is available whenever you're writing or editing an issue. Each issue has its own user/issue<number> branch, which you create yourself with one click from the current branch or from the repository's default branch, locally or fresh from the remote. It is never created without asking. Authentication works with either an existing GitHub CLI login or a per-user fine-grained GitHub API token with Issues access.

Issue settings

In Git Manager's settings you decide what opening an issue does to your branch: stay on the current branch, which is the default, switch to the issue's own branch only when you are on another issue's branch, or always switch to it, downloading it if it only exists on the remote. You can also split the issue list into issues created by you, issues assigned to you and all the others, in any combination, or combine your created and assigned issues into one section. With nothing selected, all issues are listed together.

Pull Requests

Once you're on an issue's own branch, open a pull request straight from Git Manager: choose the source branch and search for the target branch from a list that always puts the repository's default branch first, edit the title and description — prefilled from the issue — and see any pull requests that already target the same branch before opening another. The branch is pushed automatically first if it hasn't been pushed yet, and the finished pull request opens on GitHub to review and merge.

About Premium

Reviews

Reviews and ratings are written from the App Store of an installed mvmOS system.

No reviews yet.