git repos can be hosted on alphamethyl fairly easily using a combination of SSH remotes (pull/push) and Dumb HTTP remotes (pull only).
as an example i will be using the fetch-modi source repo /~barrow/doc/fetch-modi/fetch-modi.git

SSH remotes are simple, if you have a git repo on alphamethyl you can clone it (git clone $URL) or add a remote (git remote add $NAME $URL),
where $URL is "ssh://$USER@alphamethyl.barr0w.net/home/$USER/etc/etc"
(for the fetch-modi repo, that url is ssh://barrow@alphamethyl.barr0w.net/home/barrow/public_html/doc/fetch-modi/fetch-modi.git)
you must have the proper permissions to do whatever operation you're requesting, read for pull and write for push.

Dumb HTTP remotes are slightly more complicated, as they need to be a bare repository (aka, the .git folder in a repo)
you can clone a repo as bare with the --bare flag to git clone, so for example

git clone --bare /my/workstation/documents/fetch-modi/.git/ fetch-modi.git

this will clone the repo /my/workstation/documents/fetch-modi/.git as a bare repo to the new folder fetch-modi.git
then, you need to move the .git/hooks/post-update.sample to .git/hooks/post-update (in the new bare repository)
this will add the extra files that dumbhttp needs every time you push to the repo
finally, run `git update-server-info` inside .git/ manually once (dunno why this has to happen but do it to be safe, maybe it doesnt run the hook properly unless u push to the repo?)

the trick to making this seamless is to clone a bare repository, then add it as an *SSH remote* so you can still push to it.
every push will automatically trigger the post-update hook allowing dumbhttp to work, so people can still get pull-only access from http.

overall, the steps i took to make https://alphamethyl.barr0w.net/~barrow/doc/fetch-modi/fetch-modi.git:
1: clone the bare repo from my workstation to alphamethyl
    $ git clone --bare ssh://barrow@lambert.lan/path/to/original/repo fetch-modi.git
2: enable the post-update hook to allow dumbhttp
    $ mv fetch-modi.git/hooks/post-update.sample fetch-modi.git/hooks/post-update
3: back on my workstation, add the bare repo as a remote with ssh
	$ git remote add alphamethyl ssh://barrow@alphamethyl.barr0w.net/home/barrow/public_html/doc/fetch-modi/fetch-modi.git
4: push to the repo
	$ git push --set-upstream alphamethyl $BRANCH
5: clone the repo over http(or https!) and notice that it works
	$ git clone https://alphamethyl.barr0w.net/~barrow/doc/fetch-modi/fetch-modi.git