Repository navigation
Installation
- Copy
addons/gitot/into your project'saddons/folder. - Enable Gitot in Project → Project Settings → Plugins.
Gitot is independent of Godot's built-in Version Control integration (Editor Settings → Version Control): nothing to configure there.
| Requirement | Needed for |
|---|---|
| Godot 4.7+ | Everything |
git 2.32+ on your system PATH
|
Everything (Gitot disables itself with an error if missing). |
git-lfs 3.4+ (recommended) |
The Gitot LFS panel only |
| GitHub Personal Access Token | The Issues Tracker only (see Credentials and GitHub Token) |
Before using sync features, make sure git push and git pull work from a terminal. Gitot uses the same credentials.
Gitot needs the project folder to be the repository root. If your project is already a repository (cloned, or git init run before), skip this section: the dock shows your branches and changes right away.
With no .git in the project folder, the dock shows "No git repository in this project folder." and an Initialize repository button instead of the panels. Press it:
- It runs
git init -b main: the first branch is namedmain. - It creates a
.gitignore(.godot/and*.translation, as the Godot docs recommend) only if none exists. An existing one is never touched. - The panels appear and the status line shows
main. The Branches list stays empty until your first commit: git lists no branch before that. This is normal.
No remote is needed yet. A .git that git rejects (broken repository, "dubious ownership") is not offered an init: the panels show git's own error.
LFS tracking only applies to files committed after the rule exists. If the project has large assets (audio, textures, models), add the rules in the Gitot LFS panel first. See Git LFS.
The first commit needs a name and an email. If it fails with git's "Please tell me who you are", run this once in a terminal:
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
Gitot never changes your git configuration.
Stage your files, write a message, Commit. The Branches list now shows main. Files above large_file_mb are blocked until tracked with LFS or excluded: see Commit and Sync.
Create a new empty repository (no README, no .gitignore, no license). Otherwise origin already has a commit your history lacks, and the first push is rejected. Copy its URL.
Press Push. With no origin, Gitot asks for the repository URL. Accepted forms:
https://host/owner/repo.gitssh://git@host/owner/repo.gitgit@host:owner/repo.git
Gitot then runs git remote add origin <url> and continues with the normal first push (git push -u origin HEAD), which also sets the upstream. The status line then shows owner/repo (click it to open the repository in your browser).
- Cancel the prompt and nothing changes.
- URLs with
user:token@are refused: the token would sit in plain text in.git/config. Use your system Git's credentials instead: see Credentials and GitHub Token. - The push uses your system Git's sign-in (SSH agent, Git Credential Manager). If a prompt appears and nobody answers, Gitot kills the push after
network_timeout_sec. Do a firstgit pushfrom a terminal if you have never signed in on this computer.
| Symptom | See |
|---|---|
| Branches list empty after Initialize | Normal until the first commit: Troubleshooting |
| "Could not initialize a git repository" | Git older than 2.28, or a read-only project folder: Troubleshooting |
| "Could not add the remote 'origin'" | URL form, user:token@, or an origin that already exists: Troubleshooting
|
| First push rejected | The GitHub repository was not empty (its history differs from yours). Create an empty one, or merge its history from a terminal first. |
Details of each step: Commit and Sync.
Click Clear Token in the Issues panel first. The token is stored in plaintext and cannot be cleared automatically on disable.