My avatar

flewkey

Level 10 Computer Mage

Regarding git hosting

Published on 2020-08-27 by flewkey

When it comes to online services, many people look past simple solutions and jump to the large pieces of software and complicated solutions. One case of this which I see on a regular basis is git hosting, and I don’t think that most people understand how simple it is to host git repositories.

Many people think that hosting git is hard because they believe that it’s necessary to install and configure a code forge on their server. They will usually install GitLab, which is “robust” and definitely not overkill for hosting a handful of personal repositories. There are also a few people who install less gross robust git services like Gitea and SourceHut to host their projects. The thing is... they really don’t have to.

git clone --bare repo repo.git && scp -r repo.git name@server:/srv/git

Those are the only commands needed to run to host a git repository on any server with SSH access. The path doesn’t even have to be /srv/git. As long as the URI (e.g. ssh://name@server:/srv/git/repo.git) points to a bare git repository which the user has read access to, they can pull from it. With write access, they can even push to it. Amazing.

For more information on using git with your server, read the relevant chapter from the Pro Git book. It will explain how to set up a more limited “git” user for SSH, use the git daemon, rig up git-http-backend on your webserver, and even use GitWeb to show a web UI. It’s not much harder the simple setup above.

There are also other projects which can complement git hosting. If GitWeb isn’t fancy enough, there is also cgit. Issue tracking can be handled with Trac, and e-mail can be used to accept patches. At that point though, using a proper code forge might be a more suitable option.

Self-hosting git really isn’t that important, nor is there anything wrong with sticking all of one’s projects on GitHub. (Most of mine are on the SDF GIT Society anyways.) However, I’ve seen too many people purchase subscriptions from GitHub for the privilege of private repositories. I’m tired of seeing unused GitLab and Gitea instances as well. When setting up a code forge, make sure that it’s necessary.


Articles from blogs that I like

Announcing git snail-mail

You’ve heard of git-over-email thanks to git send-email — now you can enjoy git snail-mail: a new tool making it easier than ever to print out git commits on paper and mail them to your maintainers. Running git snail-mail HEAD~2.. prepares the last two commi…

From Drew DeVault's blog
Published on April 1, 2022

When optimizations make the code worse, aka GCC and Clang are fucking retarded.

Both GCC and Clang are obsessed with constant / value range propagation. Unfortunately they are far too stupid to actually apply such optimizations appropriately. A common pattern that both compilers completely fuck up is testing a pointer for NULL and … …

From DeadFish Shitware
Published on January 16, 2022

Computer Science Basics: Types (in dart)

Inside of the dart language most types come from from the parent type Object which could be called the root type in this case. From the root type in the case of dart you can end up with a type tree a little like this for the basic types. With this tree her…

From Technically Alex's blog
Published on May 11, 2021

Generated with the spectacular power of openring