Ne istediğini tam olarak bilmiyorum. Kendi sunucunuzda barındırmak istediğinizi söylüyorsunuz, ancak sorunuz kendi sunucunuz olmayan gitlab sayfaları gibi barındırmak istediğinizi söylüyor.
Her durumda belki bu yardımcı olacaktır
Bu benim işim
yerel bilgisayarda
mkdir folderforwebsite
cd folderforwebsite
git init
echo "hello world" > index.html
git add index.html
git commit -m "initial commit"
Şimdi yerel bir repo var. Sunucuya kopyalayın
scp -r ../folderforwebsite username@mydomain.com:/path/from/root/to/webfolder
Şimdi uzak sunucuda var.
ssh name@mydomain.com 'cd path/to/webfolder; git checkout -b live`
Artık web sitesinde hem usta hem de canlı bir şube var. Bunu AFAICT'ten beri şu anki şubeye itemezsiniz. Şimdi uzaktan kumandada güncel olan bir "canlı" dalımız ve olmayan bir "ana" dalımız var.
Son olarak yerel repoma uzaktan kumanda ekle
git remote add web ssh://name@mydomain.com/path/from/root/to/webfolder
Şimdi, web sitesini güncellemek istediğimde, yerel ana şubeme bir şeyler kontrol ediyorum ve sonra bu komut dosyasını çalıştırıyorum
#!/bin/sh
set -e
set -v
git push web master
ssh username@mydomain.com git merge --ff-only master
git push
Web sunucusu üzerinde duran dalına benim değişiklikleri iter. Daha ssh
sonra web sunucusunda oturum açar ve "master" deki değişiklikleri geçerli şubeye hızlı bir şekilde iletir. Bu durumda "canlı" dal.
--ff-only
sunucuda değişiklikler varsa başarısız olduğunu söylüyor.
Sunucuda değişiklikler varsa bunları yerel yöneticime çekebilirim
git pull web live
Daha çok şey. Bunlardan herhangi birini yapmadan önce, uzak sunucuda SSH anahtarları ayarlıyorum, bu yüzden herhangi bir şifre yazmam gerekmiyor
Bunun kesinlikle github veya gitlab ile bağlantısı yoktur. Değişikliklerimi oraya da itebilirim ama bağlı değiller.