Version Control

Usage

# Disable "Version Control" component.
scons goost_vcs_enabled=no

# Enable "Version Control" component, disable all others.
scons goost_components_enabled=no goost_vcs_enabled=yes

Overview

The component provides built-in implementation of various version control providers. Only Git is currently supported out of the box.

Git

The “Commit” dock and “Version Control” bottom panel will automatically appear once the editor is launched if you have a repository already initialized for Godot project. Otherwise, go to “Project” → “Version Control” and press on one of the available built-in providers to initialize a new repository, for instance:

Initialize Git repository

Once the repository is initialized or new changes are detected, you’ll see a list of files in the “Commit” dock:

Commit dock

Press “Stage All” or “Stage Selected” to prepare files for commit, provide a commit message, and press “Commit Changes” button.

Note

Unlike Godot’s official GDNative implementation of the Git plugin, Goost does not create an initial empty commit automatically upon repository setup, so you can control the contents of the initial commit yourself.

Configuring

If you don’t want the plugin to be automatically initialized upon editor launch (say, you want to use external GDNative implementation of the same provider), go to “Editor” → “Editor Settings” → “Version Control” → “Git”, and disable Initialize Plugin At Editor Startup option:

Git Settings

You can also override user.name and user.email signature via editor settings if you don’t have Git installed or configured system-wide. Signature is required to configure in order to use the commit functionality.

Compiling from source

Goost relies on libgit2 to provide Git functionality, which is versioned as a git submodule in the Goost repository. If you compile Goost from source yourself, you may need to run the following command before building:

git submodule update --init