this post was submitted on 03 Aug 2023
8 points (83.3% liked)

Git

2874 readers
11 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

  1. Follow programming.dev rules
  2. Be excellent to each other, no hostility towards users for any reason
  3. 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
 

I'm looking for a web-based client, like git gui for choosing files to stage and to make commits. The actual files in the git repo would be edited elsewhere, so that is taken care of, but my google-fu is letting me down in this endeavour of finding the actual client.

There is a metric ton of repo browsers, and that would be fine, as long as they also could show status and diffs from a git repo and being able to commit.

Anyone have any pointers to anything a web git client? Thanks!

top 9 comments
sorted by: hot top controversial new old
[–] [email protected] 5 points 1 year ago (1 children)

Are you looking for something like GitKraken? It’s electron based, not sure if that’s what you meant.

[–] [email protected] 2 points 1 year ago

Only if it doesn't need to be run in electron and can be embedded in a webpage, running with a git repo local to the kraken installation.

[–] [email protected] 5 points 1 year ago (1 children)

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?

[–] [email protected] 4 points 1 year ago (1 children)

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 :)

[–] [email protected] 4 points 1 year ago (1 children)

I see. Good luck with your search. Would be great if you could update the thread once you settle on a solution.

[–] [email protected] 4 points 1 year ago (1 children)

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

[–] [email protected] 1 points 1 year ago

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.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago) (1 children)

There is git instaweb command, which runs gitweb for current repo using a specified web server (apache2, lighttpd, mongoose, plackup, python and webrick are supported), and starts a browser. Though gitweb is slightly (or more than slightly) dated, and what is more important, read only.

You can see (modified) gitweb in action on https://repo.or.cz/

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

Yeah, tried that first, but the read onlyness was a slight problem :)