Skip to content
 
 

Repository files navigation

Ignition Git Module

License

An Ignition module that embeds a Git client directly into the Ignition Designer, enabling version control of project resources without leaving the development environment.

Features

  • Setup wizard — clone from a remote or create a local-only repo from the Designer
  • Remotes — add/edit/remove named remotes, each bound to a saved credential.
  • User credentials — manage SSH keys and per-host HTTPS credentials (GitHub/GitLab/Azure/Bitbucket hint text), shared across projects.
  • Commit — from the dockable Commit panel or a popup, with per-resource timestamps and amend-last-commit.
  • Push / Fetch / Pull — from the History panel, with multi-remote support
  • Merge conflict resolution — pull conflicts open a dedicated UI with per-file Accept Ours/Theirs, a side-by-side conflict diff, and abort/complete-merge actions.
  • Branches — list, create, checkout, delete, with automatic stash/restore of uncommitted changes.
  • Snapshot gateway resources — capture tags / themes / images into the project from the Commit panel header so they become reviewable, per-file-selectable changes before committing.
  • Metadata noise suppressionresource.json/thumbnail.png-only churn is hidden when no sibling source file changed.
  • History browser — paginated commit log with ref badges, per-commit file list, and side-by-side historical diff.
  • Revert / checkout any past commit (detached HEAD) from the History panel or commit detail view.
  • Side-by-side diff viewer for reviewing changes before committing.

Installation

Prerequisites

  • Java (JDK >= 17)
  • An Ignition gateway (8.3.0+)

Building from source

  1. Clone the repository: git clone <repo-url>
  2. Build the module: ./gradlew build
  3. Install the resulting build/Git.modl on your Ignition gateway.

The Gradle wrapper is included in the project, so no separate Gradle installation is needed.

Upgrading to 2.0.0 (Ignition 8.3)

Version 2.0.0 is a major release rebuilt for the Ignition 8.3 platform:

  • Ignition 8.3+ only. The module no longer installs on 8.1/8.2 gateways; stay on the 1.x line there.
  • Java 17, matching the 8.3 platform runtime.
  • Existing configuration is migrated automatically. On first startup the module imports your 1.x configuration — repository registrations, remotes, SSH keys, and HTTPS credentials — into Ignition 8.3's resource/config store. The one-time import is idempotent and clears the old records once migrated, so no manual re-entry is needed (unlike the AXONE-IO transition below).

Upgrading from the AXONE-IO version

If you previously ran the AXONE-IO version of this module (com.axone_io.ignition.git), note the following breaking changes:

  • Separate module ID. This release is published as com.operametrix.ignition.git. Ignition treats it as a distinct module, so you must uninstall the AXONE-IO module before installing this one.
  • Credentials are not migrated. Git credentials were previously stored inline per project/repo. They are now user-level: SSH keys and per-host HTTPS credentials managed in the User Credentials dialog and referenced by remotes. The old inline credentials are not carried over by the schema upgrade — you must re-enter your SSH keys / HTTPS credentials after installing this version.
  • Commit-author email is not migrated. The per-project commit email is gone; the commit author now comes from the Ignition user profile. Set the email on the Ignition user account if it isn't already.

Existing repository registrations (project ↔ repo, remotes) are preserved; only the credential and author-email configuration must be re-applied.

Contributing

Contributions are welcome! To get started:

  1. Fork the repo and clone your fork.
  2. Create a branch for your feature: git checkout -b feature/describe-your-feature
  3. Make your changes and commit with a clear message.
  4. Push to your fork and open a pull request.

Acknowledgements

This module was originally created by AXONE-IO (Enzo Sagnelonge). We are grateful to AXONE-IO for their work in building and open-sourcing this project.

License

This project is licensed under the Beerware license. See LICENSE.md for details.

About

Integrated git client in free Ignition module.

Resources

Stars

13 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages