# Module Git - Easy integration of git for your development

**URL:** <https://forum.inductiveautomation.com/t/module-git-easy-integration-of-git-for-your-development/72033>\
**Category:** 3rd Party Modules\
**Tags:** ignition80, vision, perspective, ignition81\
**Created:** [April 4, 2023, 4:32pm UTC](https://forum.inductiveautomation.com/t/module-git-easy-integration-of-git-for-your-development/72033 "2023-04-04T16:32:26Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![e.sagnelonge](https://avatars.discourse-cdn.com/v4/letter/e/7cd45c/32.png) [@e.sagnelonge](https://forum.inductiveautomation.com/u/e.sagnelonge)\
**Post date:** [April 4, 2023, 4:32pm UTC](https://forum.inductiveautomation.com/t/module-git-easy-integration-of-git-for-your-development/72033/1 "2023-04-04T16:32:26Z")

</div>

Hi everyone,

I am very pleased to be able to share our work with you today.  
The purpose of the module is to make git integration with our Ignition projects accessible and easy.  
We want to make it a community and open source project.

You will find the github repository [here](https://github.com/AXONE-IO/ignition-git-module).  
We will regularly publish signed versions with documentation.  
You can find the documentation and download links [here](https://www.axone-io.com/Files/Modules/GIT/1.0.0/doc/index.html).

Demo [here](https://www.youtube.com/watch?v=JoG5McrkjPk) !

We really hope that this can help you in your work.  
We are listening to your needs and look forward to your feedback !

Of course, it is very likely that there are still some small bugs, so please let us know !

---

<div class="post-metadata">

**Author:** ![gnguyen](https://avatars.discourse-cdn.com/v4/letter/g/41988e/32.png) [@gnguyen](https://forum.inductiveautomation.com/u/gnguyen)\
**Post date:** [April 4, 2023, 4:33pm UTC](https://forum.inductiveautomation.com/t/module-git-easy-integration-of-git-for-your-development/72033/2 "2023-04-04T16:33:38Z")

</div>

Good job @e.sagnelonge. Thank you 😉

---

<div class="post-metadata">

**Author:** ![austral](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/austral/32/23644_2.png) [@austral](https://forum.inductiveautomation.com/u/austral)\
**Post date:** [April 4, 2023, 4:34pm UTC](https://forum.inductiveautomation.com/t/module-git-easy-integration-of-git-for-your-development/72033/3 "2023-04-04T16:34:44Z")

</div>

Good job! 👍

---

<div class="post-metadata">

**Author:** ![bkarabinchak.psi](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bkarabinchak.psi/32/83567_2.png) [@bkarabinchak.psi](https://forum.inductiveautomation.com/u/bkarabinchak.psi)\
**Post date:** [April 4, 2023, 7:48pm UTC](https://forum.inductiveautomation.com/t/module-git-easy-integration-of-git-for-your-development/72033/4 "2023-04-04T19:48:02Z")

</div>

Free and opens source? I'll be giving this a test run tomorrow, demo looks great!

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [April 4, 2023, 8:41pm UTC](https://forum.inductiveautomation.com/t/module-git-easy-integration-of-git-for-your-development/72033/5 "2023-04-04T20:41:32Z")

</div>

Looks great!

---

<div class="post-metadata">

**Author:** ![Thomas\_Soerensen](https://avatars.discourse-cdn.com/v4/letter/t/ee7513/32.png) [@Thomas\_Soerensen](https://forum.inductiveautomation.com/u/Thomas_Soerensen)\
**Post date:** [April 5, 2023, 2:47pm UTC](https://forum.inductiveautomation.com/t/module-git-easy-integration-of-git-for-your-development/72033/6 "2023-04-05T14:47:21Z")

</div>

Looks great - nice job.

---

<div class="post-metadata">

**Author:** ![sebastien\_ng](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/sebastien_ng/32/55297_2.png) [@sebastien\_ng](https://forum.inductiveautomation.com/u/sebastien_ng)\
**Post date:** [April 6, 2023, 10:20am UTC](https://forum.inductiveautomation.com/t/module-git-easy-integration-of-git-for-your-development/72033/7 "2023-04-06T10:20:54Z")

</div>

nice job.

---

<div class="post-metadata">

**Author:** ![msteele](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/msteele/32/77889_2.png) [@msteele](https://forum.inductiveautomation.com/u/msteele)\
**Post date:** [April 6, 2023, 2:01pm UTC](https://forum.inductiveautomation.com/t/module-git-easy-integration-of-git-for-your-development/72033/8 "2023-04-06T14:01:05Z")

</div>

@e.sagnelonge thanks for sharing this! I'm eager to road test it. We've been dreaming about git integration within Designer. IA should pay up on that 🍻ware license and make git integration a default part of the designer.

---

<div class="post-metadata">

**Author:** ![awaege1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/awaege1/32/28922_2.png) [@awaege1](https://forum.inductiveautomation.com/u/awaege1)\
**Post date:** [April 6, 2023, 5:05pm UTC](https://forum.inductiveautomation.com/t/module-git-easy-integration-of-git-for-your-development/72033/9 "2023-04-06T17:05:09Z")

</div>

I have not downloaded it to play around with this yet but does it handle merge conflicts or is that still in the roadmap?

---

<div class="post-metadata">

**Author:** ![e.sagnelonge](https://avatars.discourse-cdn.com/v4/letter/e/7cd45c/32.png) [@e.sagnelonge](https://forum.inductiveautomation.com/u/e.sagnelonge)\
**Post date:** [April 6, 2023, 7:51pm UTC](https://forum.inductiveautomation.com/t/module-git-easy-integration-of-git-for-your-development/72033/10 "2023-04-06T19:51:12Z")

</div>

If you are working on a single branch, conflicts are naturally handled by Ignition.  
When a conflict occurs, following a save, Ignition opens a popup asking you to choose between the gateway's version and yours.  
Once the choice is validated, the commit popup will open.  
So there are never any conflicts. 🙂

For branches's merges conflicts, it will be necessary to think about other solutions.

---

<div class="post-metadata">

**Author:** ![awaege1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/awaege1/32/28922_2.png) [@awaege1](https://forum.inductiveautomation.com/u/awaege1)\
**Post date:** [April 6, 2023, 8:03pm UTC](https://forum.inductiveautomation.com/t/module-git-easy-integration-of-git-for-your-development/72033/11 "2023-04-06T20:03:37Z")

</div>

Oh, I see now that you have branch management still listed in the roadmap. This is a great start though honestly. Will definitely be using this in the near future!

---

<div class="post-metadata">

**Author:** ![dsmith1](https://avatars.discourse-cdn.com/v4/letter/d/34f0e0/32.png) [@dsmith1](https://forum.inductiveautomation.com/u/dsmith1)\
**Post date:** [April 7, 2023, 12:36pm UTC](https://forum.inductiveautomation.com/t/module-git-easy-integration-of-git-for-your-development/72033/12 "2023-04-07T12:36:50Z")

</div>

Very cool stuff, been hoping for something similar for a long time!

~~Quick question: how does this handle multiple commit authors in the case of having a shared gateway that multiple users are working on? It appears that the git setup on the gateway assigns it to a specific git user, is it possible to have the commit process attempt the user the designer username to change the author metadata? Or is it just suggested that each different author would have a separate version of the gateway on their local machine?~~

EDIT: ~~I just started testing and I see there is a way to associate ignition users with git users! I believe this accomplishes what I was looking for!~~

EDIT2: Okay nevermind. I was able to link my Ignition user to my git user, but when pushing my commits from the designer the author shows up as the hostname of the server the gateway is running on:

![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/4/b/4b48a4b1db40754b7398efac09c7e93df82ae20c.png)  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/0/e0535c991a27cb717c1ea3a71d12e84978224beb.png)

Am I missing something or is this not quite supported yet?

---

<div class="post-metadata">

**Author:** ![e.sagnelonge](https://avatars.discourse-cdn.com/v4/letter/e/7cd45c/32.png) [@e.sagnelonge](https://forum.inductiveautomation.com/u/e.sagnelonge)\
**Post date:** [April 7, 2023, 2:59pm UTC](https://forum.inductiveautomation.com/t/module-git-easy-integration-of-git-for-your-development/72033/13 "2023-04-07T14:59:14Z")

</div>

Oh, I didn't see that !  
It seems to work in the Activity tab (Gitlab) but not in the Commits tab.  
I need to do some research to understand what is used as a reference for the commit.

 ![activity](https://us1.discourse-cdn.com/inductiveautomation/original/3X/5/6/5613962e6bba9224073d1c6a8b897d1b1c454e78.jpeg)  
 ![commit](https://us1.discourse-cdn.com/inductiveautomation/original/3X/8/2/82dd2f6b0171a5c6f48f713833577b0888a71295.jpeg)

---

<div class="post-metadata">

**Author:** ![dsmith1](https://avatars.discourse-cdn.com/v4/letter/d/34f0e0/32.png) [@dsmith1](https://forum.inductiveautomation.com/u/dsmith1)\
**Post date:** [April 7, 2023, 3:19pm UTC](https://forum.inductiveautomation.com/t/module-git-easy-integration-of-git-for-your-development/72033/14 "2023-04-07T15:19:23Z")

</div>

Thanks for the reply Enzo!

From my knowledge of git, I would think you may want to explicitly set the author of each commit.

You're definitely more familiar with the eclipse Git library than I am, but I found some relevant documentation that may solve this:  
[CommitCommand (JGit - Core 2.0.0.201206130900-r API) (eclipse.org)](https://archive.eclipse.org/jgit/docs/jgit-2.0.0.201206130900-r/apidocs/org/eclipse/jgit/api/CommitCommand.html#setAuthor(org.eclipse.jgit.lib.PersonIdent))

```auto
setAuthor
public CommitCommand setAuthor(PersonIdent author)
Sets the author for this commit. If no author is explicitly specified because this method is never called or called with null value then the author will be set to the committer.
Parameters:
author - the author used for the commit
Returns:
this

```

```java
Git git = new Git(myRepo);
git.commit().setMessage("Fix393").setAuthor(developerIdent).call();

```

---

<div class="post-metadata">

**Author:** ![e.sagnelonge](https://avatars.discourse-cdn.com/v4/letter/e/7cd45c/32.png) [@e.sagnelonge](https://forum.inductiveautomation.com/u/e.sagnelonge)\
**Post date:** [April 17, 2023, 3:34pm UTC](https://forum.inductiveautomation.com/t/module-git-easy-integration-of-git-for-your-development/72033/15 "2023-04-17T15:34:44Z")

</div>

@dsmith1,

I just created the feature.  
You can see it [here](https://github.com/AXONE-IO/ignition-git-module/pull/3).

It will be added to the module in the next release.

---

<div class="post-metadata">

**Author:** ![e.sagnelonge](https://avatars.discourse-cdn.com/v4/letter/e/7cd45c/32.png) [@e.sagnelonge](https://forum.inductiveautomation.com/u/e.sagnelonge)\
**Post date:** [April 28, 2023, 10:11am UTC](https://forum.inductiveautomation.com/t/module-git-easy-integration-of-git-for-your-development/72033/16 "2023-04-28T10:11:23Z")

</div>

[Release 1.0.1](https://github.com/AXONE-IO/ignition-git-module/tree/1.0.1) :

- Commissioning configuration file,
- Setup Commit Author
- Docker compose

You can now deploy your Ignition projects from git through Docker in less than 5 minutes ! 👀

[![](https://us1.discourse-cdn.com/inductiveautomation/original/3X/0/7/075bdbdae8b8916701d8e9e9da1cfb4ec81bd6ed.jpeg "Git Module - Deploy your project through Docker") ](https://www.youtube.com/watch?v=-aS1hxr6PVs)

---

<div class="post-metadata">

**Author:** ![e.sagnelonge](https://avatars.discourse-cdn.com/v4/letter/e/7cd45c/32.png) [@e.sagnelonge](https://forum.inductiveautomation.com/u/e.sagnelonge)\
**Post date:** [May 4, 2023, 3:22pm UTC](https://forum.inductiveautomation.com/t/module-git-easy-integration-of-git-for-your-development/72033/17 "2023-05-04T15:22:23Z")

</div>

[Release 1.0.2](https://github.com/AXONE-IO/ignition-git-module/tree/1.0.2) :

- Fix Export Tag Beautifier.
- Fix "Field [F GitReposUsersRecord.UserName] must be NOT NULL".
- New git.config parameter to set the default branch name during git init.
- Fix Commit Popup :
  - Open only one popup at a time,
  - Fix SelectAllHeader state.

Small release to fix blocking bugs.

---

<div class="post-metadata">

**Author:** ![John\_S1](https://avatars.discourse-cdn.com/v4/letter/j/c0e974/32.png) [@John\_S1](https://forum.inductiveautomation.com/u/John_S1)\
**Post date:** [May 22, 2023, 11:17am UTC](https://forum.inductiveautomation.com/t/module-git-easy-integration-of-git-for-your-development/72033/18 "2023-05-22T11:17:38Z")

</div>

Hello @e.sagnelonge , Is it possible to integrate the same with Azure devops.

---

<div class="post-metadata">

**Author:** ![John\_S1](https://avatars.discourse-cdn.com/v4/letter/j/c0e974/32.png) [@John\_S1](https://forum.inductiveautomation.com/u/John_S1)\
**Post date:** [May 24, 2023, 5:23am UTC](https://forum.inductiveautomation.com/t/module-git-easy-integration-of-git-for-your-development/72033/19 "2023-05-24T05:23:42Z")

</div>

Any idea on this guys? anybody, has anyone tried this concept.

---

<div class="post-metadata">

**Author:** ![e.sagnelonge](https://avatars.discourse-cdn.com/v4/letter/e/7cd45c/32.png) [@e.sagnelonge](https://forum.inductiveautomation.com/u/e.sagnelonge)\
**Post date:** [May 24, 2023, 11:03am UTC](https://forum.inductiveautomation.com/t/module-git-easy-integration-of-git-for-your-development/72033/20 "2023-05-24T11:03:51Z")

</div>

Hello @John_S1,

Are you talking about integrating the project into an Azure Devops git repo or deploying a docker image via pipelines ?  
The goal would be that the module can be integrated everywhere, including obviously in Azure devops.  
I don't have time to test this week.

Do you enconter any problems with the module ?

[Next page](https://forum.inductiveautomation.com/t/module-git-easy-integration-of-git-for-your-development/72033.md?page=2)
