Saya tidak begitu yakin apa yang Anda minta. Anda mengatakan Anda ingin meng-host di server Anda sendiri tetapi pertanyaan Anda mengatakan Anda ingin meng-host seperti halaman gitlab yang bukan server Anda sendiri.
Bagaimanapun mungkin ini akan membantu
Inilah yang saya lakukan
di pc lokal
mkdir folderforwebsite
cd folderforwebsite
git init
echo "hello world" > index.html
git add index.html
git commit -m "initial commit"
Saya sekarang memiliki repo lokal. Salin ke server
scp -r ../folderforwebsite username@mydomain.com:/path/from/root/to/webfolder
Sekarang saya memilikinya di server jarak jauh.
ssh name@mydomain.com 'cd path/to/webfolder; git checkout -b live`
Sekarang ada cabang master dan live di situs web. Saya melakukan ini karena AFAICT Anda tidak dapat mendorong ke cabang saat ini. Jadi sekarang kita memiliki cabang "hidup" yang saat ini ada di remote dan cabang "master" yang tidak
Akhirnya tambahkan remote ke repo lokal saya
git remote add web ssh://name@mydomain.com/path/from/root/to/webfolder
Sekarang, kapan saja saya ingin memperbarui situs web saya memeriksa barang-barang ke cabang master lokal saya dan kemudian menjalankan skrip ini
#!/bin/sh
set -e
set -v
git push web master
ssh username@mydomain.com git merge --ff-only master
The git push
mendorong perubahan saya ke cabang non-saat ini pada webserver. The ssh
kemudian log ke webserver dan cepat-depan perubahan dalam "master" untuk cabang saat ini. Dalam hal ini cabang "hidup".
--ff-only
dikatakan gagal jika ada perubahan pada server.
Jika ada perubahan pada server saya dapat menariknya ke master lokal saya dengan
git pull web live
Lebih banyak hal. Sebelum saya melakukan semua ini, saya mengatur kunci SSH pada server jauh sehingga saya tidak perlu mengetikkan kata sandi
Ini sama sekali tidak ada koneksi ke github atau gitlab. Saya mungkin mendorong perubahan saya di sana juga, tetapi mereka tidak terhubung.