this post was submitted on 03 Aug 2023
8 points (83.3% liked)
Git
2868 readers
2 users here now
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Resources
Rules
- Follow programming.dev rules
- Be excellent to each other, no hostility towards users for any reason
- No spam of tools/companies/advertisements. It’s OK to post your own stuff part of the time, but the primary use of the community should not be self-promotion.
Git Logo by Jason Long is licensed under the Creative Commons Attribution 3.0 Unported License.
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Not sure I understand the use case and why something like VS Code's Git UI (or some other GUI) cannot solve the problem. Why does it need to be web-based, for example?
It will be used to put changes to n8n workflows into git repos. The n8n software is in the browser, and I can extract the workspaces and write them to a directory on the server, but the n8n users will not have access to this directory, nor are they especially well versed on git. Simple staging and commiting would be ok though.
Found a long list of git clients and among them found git webcommit and ungit, which seems to fit the bill. Still browsing the list, so haven't had the time to try them out yet :)
I see. Good luck with your search. Would be great if you could update the thread once you settle on a solution.
The look of ungit would confuse my users I'm afraid.
In the end I whipped up our own solution, with the added benefit of it being more efficient to the problem domain.
Take a look at https://files.ahall.se/n8n-gitted.mp4 where I demonstrate the functionality. The user makes changes to the n8n workflows, goes to the git system page and syncs the workflows to the git repo residing on the same docker as the n8n instance. User can then choose workflows with changes that are to be commited, types a message and is done.
Selecting an earlier commit does a git checkout on that commit and shows the files. Clicking on a file copies the contents of it. In this case, the workflow can be pasted into n8n and the user can pick and choose what was desired to bring back.
The git system page is static HTML and javascript, and communicates through webhooks to a git workflow in n8n. https://files.ahall.se/workflow-git.png
If anyone is using specifically n8n and would like a small backup/change log, I could provide the workflow and the frontend code. A small change of n8n webhook URL is probably only what's needed to get it running.