Blog: Add "Regarding git hosting"
This commit is contained in:
parent
fbfafea708
commit
f3ed243ac4
46
posts/2020-08-28-regarding-git-hosting.md
Normal file
46
posts/2020-08-28-regarding-git-hosting.md
Normal file
@ -0,0 +1,46 @@
|
||||
template: post
|
||||
title: Regarding git hosting
|
||||
author: flewkey
|
||||
timestamp: 1594525504
|
||||
license: CC-BY
|
||||
|
||||
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"](https://docs.gitlab.com/ee/administration/operations/unicorn.html#unicorn-worker-killer)
|
||||
and definitely not overkill for hosting a handful of personal repositories.
|
||||
There are also a few people who install less <del>gross</del> <ins>robust</ins>
|
||||
git services like [Gitea](https://gitea.io/) and [SourceHut](https://sr.ht/)
|
||||
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](https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols)
|
||||
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 compliment git hosting. If GitWeb isn't
|
||||
fancy enough, there is also [cgit](https://git.zx2c4.com/cgit/). Issue tracking
|
||||
can be handled with [Trac](https://trac.edgewall.org/), and
|
||||
[e-mail](https://git-send-email.io/) 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.
|
Loading…
x
Reference in New Issue
Block a user