Skip to content

Installation

Loky edited this page Oct 12, 2026 · 3 revisions

Installation

  1. Copy addons/gitot/ into your project's addons/ folder.
  2. 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.

Requirements

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)

First check

Before using sync features, make sure git push and git pull work from a terminal. Gitot uses the same credentials.

First-time setup: a project without a repository

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.

1. Initialize

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 named main.
  • 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.

2. Large binaries? Set up LFS before the first commit

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.

3. Set your git identity (once per computer)

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.

4. First commit

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.

5. Create the repository on GitHub

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.

6. First push: Gitot asks for the remote

Press Push. With no origin, Gitot asks for the repository URL. Accepted forms:

  • https://host/owner/repo.git
  • ssh://git@host/owner/repo.git
  • git@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 first git push from a terminal if you have never signed in on this computer.

Something went wrong?

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.

Uninstalling

Click Clear Token in the Issues panel first. The token is stored in plaintext and cannot be cleared automatically on disable.

Clone this wiki locally