Gitot - Godot Git Tool
Gitot is a lightweight Git workflow plugin for the Godot 4 editor intended for solo developers who want fast, reliable Git operations (stage/unstage, commit, stash/pop, fetch/push/pull), inline diff gutter, full diff viewer, full LFS support and issue tracker without leaving the editor.
Check the wiki for full details of all git commands covered.
β Why Gitot!
Git integrations for Godot either wrap libgit2 via GDExtension or require a separate installed application. Gitot does neither:
- Pure GDScript. No GDExtension, no bundled
libgit2, no compiled binaries to trust or keep updated across platforms. - Wraps the system
gitbinary directly. If yourgitworks in a terminal, it works in Gitot β same config, same credentials, same behavior you already rely on. - Built for solo developers. No team-workflow ceremony - status, commit, and push are one click away, tuned for a single-developer loop rather than large-team review tooling.
𧬠Features (V0.15.1)
Check the repo changelog for full details.
- Commit & Sync: Stage or unstage files individually, by multi-selection (Enter) or in bulk, write
multiline commit messages, and Commit, Amend, Push, or Pull. Amend is guarded. A diverged branch asks
before a force push (
--force-with-lease); a branch that is only behind is never pushed. The Push tooltip says what it will do right now. Buttons show a busy state while a write runs. - Stash Manager (Shelf): Stash all changes (staged + unstaged + untracked) under an optional name, then pop or drop any entry from a capped, foldable list (limit is a setting, default 10). Pop refreshes only the files it touched in the editor.
- Local Branch Management: Foldable branch list (name, ahead/behind, last update). The title shows the
current branch; its sync status with commit counts (
β 2) sits on the right of the title bar. A button row under the title has Fetch,+(create a branch inline) and delete buttons. Double-click to switch. Open scenes refresh automatically on switch without a full project rescan. A toast warns if an open script changed on disk, or if changed files couldn't be reliably detected (see Limitations). - Remote Branch Management: Fetch remote updates, list remote-only branches, and double-click one to check it out with automatic tracking. A Delete on origin button removes a branch from origin only (never forced, always confirmed; the old tip hash is logged so it can be restored).
- Tag Versioning: Push with or without an annotated tag. Auto-tagging settings - see _Details_ below. The tag name is validated before the push.
- Commit History: Browse recent commits (message, author, date) with a count filter (10/20/30). Click a commit to inspect its changes file-by-file in the bottom-dock diff viewer.
- Color Diff Gutter: Modified and added lines are marked directly in the script editor's gutter. Click to open the matching hunk in the diff viewer.
- Diff Viewer Panel: Bottom-dock full-context unified diff for the current script. Basic syntax highlighting, foldable hunk with headers, per-line +/- gutter with real source line numbers and color-coded additions/deletions. Also browses any past commit file-by-file: pick a file from the changed-files list to view its diff. (Click the commit header to copy its hash).
- Restore File: In the diff viewer's commit-history mode, restore a file to its content at that commit. Confirmation dialog before overwriting uncommitted changes.
- Git LFS: Dedicated Gitot LFS bottom panel: a left dashboard (state, Download / Prune, storage stats
computed from the files list, tracked patterns with one-click Godot-aware presets) beside the files list
(size,
Local + Remote/Local/Remote/Missingstatus). Without git-lfs, or beforegit lfs install, it shows a simple setup guide instead. The bottom notes can be hidden (Info). Normal Push/Pull already handle LFS through git's own hooks and filters. - Large-File Guard: Blocks staging any file over a configurable size limit to prevent repository bloat, flagging oversized files with a warning icon. Files covered by an LFS rule are exempt (when LFS is ready), and a Track with LFS button on a flagged file adds the rule in one click.
- GitHub Issues Tracker Board: Split list/detail view of the repo's open issues (requires a PAT);
opt-out in settings. Header:
owner/repo Β· N open, refresh, Clear PAT. Sortable column list (number, title, date, type, priority, labels), Type/Priority/Label filters, full issue detail (metadata, colored labels, Markdown body, Open in Browser). Create a branch directly from an issue, auto-named from its number/title/type (editable), with a base-branch picker and a dirty-working-tree confirmation. - Repo Status Panel: One-line summary of the current repo, branch (detached HEAD flagged in red), branch scope, and ahead/behind sync status.
- Accents & Unicode: files with accented or non-Latin names (
Lumière.mp3) can be staged, and accented text displays correctly in diffs, commit history and stash names. - Gitot Logger: Git and Gitot output are routed through Gitot's own dock logger to keep the Godot output
panel clean. The console's Info menu: Reflog (last 20), Repo size (
git count-objects -vH), Copy log, Clear log. After a big commit only the summary line (N files changed, ...) is printed, not the file list.
π Installation
- Copy
addons/gitot/into your project'saddons/folder. - Enable Gitot under Project Settings β Plugins.
Requirements
- Godot 4.7+
gitinstalled and available on your systemPATH.git-lfs(optional but Recommended, only needed for the Gitot LFS panel).- A GitHub Personal Access Token (PAT), (optional, only needed for the Issues integration).
π§ͺ Testing
Last run v0.15.1: 17 suites, 137 tests, 0 failures (Godot 4.7.2, Windows).
Gitot is under active, daily-use development by a solo developer. It is built and tested on Godot 4.7.2. Core workflows (stage/commit/push/pull, branching, diff gutter & viewer) are used daily in real projects and have been through several correctness/lifecycle hardening passes (see Changelog).
- This is not yet a widely-tested release. It has been validated on Windows with one developer's workflow, on small repo, not across operating systems or project sizes.
- Pure logic GdUnit4 tested. (see Testing) Gitot requires significantly more testing under everyday usage conditions!
- Commit your work / make backup before trying a new Gitot version, same as any Git tool in active development.
- Bug reports and real-world usage feedback are the most valuable contribution right now.
License
Copyright (c) 2026-present SigK - under the MIT License.
Links
- Last version, source & issue tracker: GitHub repo
Changelog for version v0.14.1
2026-10-02 15:54:51
No changelog provided for this version.