Disclaimer:
Please note: Git sync attempts to synchronize your data easily and reliably to a Git repository. Using multiple Looksyk installations in parallel and with little opportunity to synchronize can lead to editing conflicts, potentially resulting in data loss, or your changes are hidden in some old git-commit since Looksyk always tries to commit changes and merge afterwards.
For a more stable synchronization method, you can synchronize the graph folder yourself using a synchronization tool of your choice.
Configuration Parameters
- Git Repository URL: The URL of the Git repository to synchronize with. This can be an HTTPS or SSH URL, but the git commands must be able to access the repository without user interaction (e.g. password prompt). For HTTPS URLs, this can be achieved by using a credential manager or embedding credentials in the URL (not recommended for security reasons). For SSH URLs, this can be achieved by using SSH keys.
-
Conflict Resolution Strategy: The strategy to use when a conflict occurs during synchronization. The following strategies are available:
- Use remote changes (theirs): This strategy will discard local changes and use the changes from the remote repository.
- Use local changes (ours): This strategy will discard remote changes and use the local changes.
-
When running migrations, require update graph to be run successfully before
- Yes: When Looksyk is updated and wants to run migrations, it will first check if the graph is up to date with the remote repository. If the remote repository is not accessible (e.g. no internet connection), the migrations will not be run.
- No: Looksyk will run migrations regardless of whether the graph is up to date with the remote repository or not. This may cause merge conflicts, when another Looksyk application already migrated the graph to the new version.
Usage
After connecting to the Git repository, the sidebar displays the current state of the graph. It can be viewed without changes (first image) or with local changes (second image). Clicking the sync icon loads changes from the remote repository. Clicking the graph icon makes a commit and attempts to upload the changes to the remote repository (pulling them first if necessary).


Looksyk tries to create meaningful commit messages based on the changes made to the graph.

If a conflict occurs during synchronization, the configured conflict resolution strategy will be applied.
Since Looksyk tries to commit before every merge, it is possible to revert to previous states of the graph using Git tools.
In addition to this manual execution of pull, commit and push, Looksyk also tries to automatically update the graph at certain points in order to reduce conflicts.
The following events lead to Git actions:
- When Looksyk starts, it will attempt to pull the latest changes from the remote repository.
- When Looksyk is closed, it will attempt to commit and push any local changes to the remote repository.
- When Looksyk wants to run migrations (e.g. after an update), it will first attempt to pull the latest changes from the remote repository. If the current graph contains unchecked changes, a commit is made. Then the migration is executed, committed, and all the changes are pushed.
Behavior of Looksyk using git
- When Looksyk tries to update the graph and there are incoming changes from the remote repository, Looksyk commits local changes. In the case of a merge conflict, all information will remain in the git-history
- Looksyk does not care about branches. When the sync gets initialized, it will use the default branch. The default branch can be anything, Looksyk does not care about the naming
- If you want Looksyk to use another branch, just change the branch manually in the graph-folder. Looksyk does not care or check, if the branch has changed. Please make sure the banch can be pushed and pulled.
- Looksyk does not create tags or releases in the git repository
- The following settings are applied, when Looksyk initializes the git repository:
- push.default = current
- core.mergeoptions = --no-edit
- pull.rebase = false
- user.name
- user.email
- Looksyk does not delete branches or repositories