Non sono proprio sicuro di quello che stai chiedendo. Dici di voler ospitare sul tuo server ma la tua domanda dice che vuoi ospitare come pagine gitlab che non sono il tuo server.
In ogni caso forse questo ti aiuterà
Questo è ciò che faccio
sul pc locale
mkdir folderforwebsite
cd folderforwebsite
git init
echo "hello world" > index.html
git add index.html
git commit -m "initial commit"
Ora ho un repository locale. Copia sul server
scp -r ../folderforwebsite username@mydomain.com:/path/from/root/to/webfolder
Ora ce l'ho sul server remoto.
ssh name@mydomain.com 'cd path/to/webfolder; git checkout -b live`
Ora sul sito Web sono presenti sia una sede principale sia una sede attiva. Faccio questo dal momento che AFAICT non è possibile passare al ramo corrente. Quindi ora abbiamo un ramo "live" che è corrente sul telecomando e un ramo "master" che non lo è
Infine aggiungi un telecomando al mio repository locale
git remote add web ssh://name@mydomain.com/path/from/root/to/webfolder
Ora, ogni volta che voglio aggiornare il sito Web, controllo le cose nel mio ramo principale locale e quindi eseguo questo script
#!/bin/sh
set -e
set -v
git push web master
ssh username@mydomain.com git merge --ff-only master
La git push
spinge le mie modifiche al ramo non corrente sul server web. I ssh
ceppi poi nel server web e in rapida in avanti i cambiamenti nel "master" per il ramo corrente. In questo caso il ramo "live".
--ff-only
dice di fallire se ci sono cambiamenti sul server.
Se ci sono cambiamenti sul server, posso inserirli nel mio master locale con
git pull web live
Per di più. Prima di eseguire qualsiasi operazione, ho impostato le chiavi SSH sul server remoto, quindi non devo digitare alcuna password
Questo non ha assolutamente alcuna connessione con github o gitlab. Potrei inserire anche qui le mie modifiche ma non sono collegate.