Project import/export administration (CORE ONLY)

  • Introduced in GitLab 8.9.
  • From GitLab 11.3, import/export can use object storage automatically.

GitLab provides Rake tasks relating to project import and export. For more information, see:

Project import status

You can query an import through the Project import/export API. As described in the API documentation, the query may return an import error or exceptions.

Import large projects

If you have a larger project, consider using a Rake task, as described in our developer documentation.

Import/export tasks

The GitLab import/export version can be checked by using the following command:

# Omnibus installations
sudo gitlab-rake gitlab:import_export:version

# Installations from source
bundle exec rake gitlab:import_export:version RAILS_ENV=production

The current list of DB tables that will be exported can be listed by using the following command:

# Omnibus installations
sudo gitlab-rake gitlab:import_export:data

# Installations from source
bundle exec rake gitlab:import_export:data RAILS_ENV=production

Note the following:

  • Importing is only possible if the version of the import and export GitLab instances are compatible as described in the Version history.
  • The project import option must be enabled in application settings (/admin/application_settings/general) under Import sources, which is available under {admin} Admin Area > {settings} Settings > Visibility and access controls.
  • The exports are stored in a temporary shared directory and are deleted every 24 hours by a specific worker.