Git
Overview
The Git module embeds a complete Git client directly into the Ignition Designer, enabling professional version control of project resources without leaving the development environment. It eliminates context switching between the Designer and external Git tools by providing repository initialization, commit management, branch operations, push/pull/fetch, merge conflict resolution, and commit history browsing — all from within the Designer UI.
Originally created by AXONE-IO and now maintained by OperaMetrix.
Features
- Setup Wizard - Clone from a remote repository (HTTPS or SSH) or initialize a local-only repository directly from the Designer
- Remote Management - Add, edit, and remove named remotes (e.g.
origin,upstream), each bound to a saved credential - User Credentials - Manage user-level SSH keys and per-host HTTPS credentials (with GitHub/GitLab/Azure/Bitbucket hint text), shared across projects and remotes
- Commit Management - Select resources, write commit messages, view diffs before committing, and amend the last commit, from the dockable Commit panel or a popup
- Push, Pull & Fetch - Full remote operations with multi-remote support
- Branch Management - List, create, checkout, and delete branches with automatic stash/restore of uncommitted changes
- Merge Conflict Resolution - Dedicated UI with per-file "Accept Ours/Theirs" resolution, a side-by-side conflict diff, and abort/complete-merge actions
- Side-by-Side Diff Viewer - Review changes before committing with color-coded line comparison and synchronized scrolling
- Commit History Browser - Paginated log viewer with ref badges, per-commit file lists, and historical diffs
- Revert & Checkout - Undo specific commits via revert, or inspect past states via detached HEAD checkout
- Gateway Resource Snapshots - Capture tags, themes, and images into the project so they become reviewable, per-file-selectable changes before committing
- Metadata Noise Suppression - Automatically filters out
resource.jsonandthumbnail.pngchurn when no sibling source file changed - Dockable Panels - Always-visible Commit and History panels tabbed alongside the Project Browser
Technical Specifications
| Specification | Value |
|---|---|
| Module ID | com.operametrix.ignition.git |
| Module Name | Git |
| Current Version | 2.0.2 |
| Minimum Ignition Version | 8.3.0 |
| Java Runtime | Java 17 |
| Required Module | None |
| Scope | Gateway, Designer |
| License | Beerware |
Version 2.x is rebuilt for the Ignition 8.3 platform and runs on Java 17. It does not install on 8.1/8.2 gateways — stay on the 1.x line there. See Installation for upgrade notes.
Architecture
The module follows Ignition's multi-scope architecture with Gateway (backend) and Designer (UI) components communicating via RPC:
- The Gateway scope handles all Git operations using Eclipse JGit — clone, commit, push, pull, fetch, merge, branch management, diff generation, and gateway-resource snapshots
- The Designer scope provides the full UI — a status bar, dockable Commit/History panels, and popup dialogs
- When a user performs an action in the Designer (e.g. commit, push), the request is sent to the Gateway via Ignition's 8.3 module RPC mechanism
- The Gateway executes the Git operation on the project directory and re-imports the project so changes appear in the Designer
- Credentials are stored as user-level resources on the Ignition 8.3 resource/config system; remotes reference them by id
- Results are returned to the Designer, which updates the UI accordingly
Designer UI Components
- Status Bar — Shows the current branch and provides quick-access buttons for Remotes and Git credentials (or a "Configure" button before the repository is set up)
- Dockable Commit Panel — Always-visible panel for at-a-glance uncommitted changes, inline commits, and gateway-resource snapshot buttons
- Dockable History Panel — Always-visible commit log with ref badges and Refresh/Push/Fetch/Pull buttons
- Popups — Init wizard, Commit, Diff viewer, Commit detail, Branches, Remotes, User Credentials, and Merge Conflict resolution