Host Git Locally
Enable Javascript to display Table of Contents.
Setup the Server
On the server you have to create a (empty) bare git repository:
myusername@localhost:~$ ssh myusername@mydomain.de
You have no mail.
Last login: Sat Mar 14 13:41:04 2026 from 123.234.321.213
myusername@mydomain:~$ mkdir myproject.git
myusername@mydomain:~$ cd myproject.git
myusername@mydomain:~/myproject.git$ git init --bare
Initialized empty Git repository in /home/myusername/myproject.git/
myusername@mydomain:~/myproject.git$
Prepare the Remote
First create a backup, so you can rollback in case you mess something up:
21:16:38[myproject]$ cd ..
21:24:20[Projects]$ tar cfz myproject_20260315.tar.gz myproject/
21:26:05[Projects]$
Second, you have to replace the remote URL to your new repository:
21:26:05[Projects]$ cd myproject/
21:26:13[myproject]$
21:26:48[myproject]$ git remote -v
origin git@github.com:myusername/myproject.git (fetch)
origin git@github.com:myusername/myproject.git (push)
21:28:22[myproject]$ git remote set-url origin myusername@mydomain.de:myproject.git
21:28:28[myproject]$ git remote -v
origin myusername@mydomain.de:myproject.git (fetch)
origin myusername@mydomain.de:myproject.git (push)
21:28:41[myproject]$ git push
Enumerating objects: 1295, done.
Counting objects: 100% (1295/1295), done.
Delta compression using up to 12 threads
Compressing objects: 100% (802/802), done.
Writing objects: 100% (1295/1295), 4.03 MiB | 7.07 MiB/s, done.
Total 1295 (delta 796), reused 815 (delta 442), pack-reused 0
remote: Resolving deltas: 100% (796/796), done.
To mydomain.de:myproject.git
* [new branch] main -> main
21:28:45[myproject]$
Verification
Finally clone the project at a new location, and verify that the
data is all available:
21:28:52[~]$ cd tmp/
21:28:53[tmp]$ git clone myusername@mydomain.de:myproject.git
Cloning into 'myproject'...
remote: Enumerating objects: 1295, done.
remote: Counting objects: 100% (1295/1295), done.
remote: Compressing objects: 100% (448/448), done.
remote: Total 1295 (delta 796), reused 1295 (delta 796), pack-reused 0 (from 0)
Receiving objects: 100% (1295/1295), 4.03 MiB | 2.45 MiB/s, done.
Resolving deltas: 100% (796/796), done.
21:29:04[tmp]$ cd myproject/
21:29:09[myproject]$ git log
[...]