Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Version Control Systems

Introduction

Godot aims to be VCS friendly and generate mostly readable and mergeable files. Godot also supports the use of version control systems in the editor itself. However, VCS in the editor requires a plugin for the specific VCS you are using. VCS can be setup or shut down in the editor under Project > Version Control.

../../_images/version_control_menu.png

Official Git plugin

Using Git from inside the editor is supported with an official plugin. You can find the latest releases here. Documentation on how to use the Git plugin can be found here.

Files to exclude from VCS

There are some files and folders Godot automatically creates. You should add them to your VCS ignore:

  • .godot/: This folder stores various project cache data. .godot/imported/ stores all the files the engine imports automatically based on your source assets and their import flags. .godot/editor/ holds data regarding the editor state, such as currently opened script files, and recently used nodes.

  • *.translation: These files are binary imported translations generated from CSV files.

  • export_presets.cfg: This file contains all the export presets for the project, including sensitive information such as Android keystore credentials.

  • .mono/: This folder stores automatically-generated Mono files. It only exists in projects that use the Mono version of Godot.

Tip

Save this .gitignore file in your project's root folder to set up file exclusions automatically.

Working with Git on Windows

Most Git for Windows clients are configured with the core.autocrlf set to true. This can lead to files unnecessarily being marked as modified by Git due to their line endings being converted automatically. It is better to set this option as:

git config --global core.autocrlf input

Known issues

Always close the editor before running git pull! Otherwise, you may lose data if you synchronize files while the editor is open.