나는 당신이 무엇을 요구하는지 잘 모르겠습니다. 당신은 당신이 당신의 자신의 서버에서 호스팅하고 싶다고 말하지만 당신의 질문은 당신이 당신의 자신의 서버가 아닌 gitlab 페이지처럼 호스팅하고 싶다고 말합니다.
어쨌든 이것이 도움이 될 것입니다.
이것이 제가하는 것입니다
로컬 PC에서
mkdir folderforwebsite
cd folderforwebsite
git init
echo "hello world" > index.html
git add index.html
git commit -m "initial commit"
나는 지금 지역에 repo를 가지고있다. 서버에 복사
scp -r ../folderforwebsite username@mydomain.com:/path/from/root/to/webfolder
이제 원격 서버에 있습니다.
ssh name@mydomain.com 'cd path/to/webfolder; git checkout -b live`
이제 웹 사이트에 마스터 및 라이브 지점이 있습니다. AFAICT 이후 현재 지점으로 푸시 할 수 없으므로이 작업을 수행합니다. 이제 우리는 원격지에 현재있는 "live"브랜치와 그렇지 않은 "master"브랜치가 있습니다.
마지막으로 로컬 리포지토리에 리모컨을 추가하십시오.
git remote add web ssh://name@mydomain.com/path/from/root/to/webfolder
이제 웹 사이트를 업데이트하려고 할 때마다 로컬 마스터 브랜치를 확인한 다음이 스크립트를 실행하십시오.
#!/bin/sh
set -e
set -v
git push web master
ssh username@mydomain.com git merge --ff-only master
이 git push
변경 사항은 웹 서버의 비 현재 분기로 변경 사항을 푸시합니다. 그런 ssh
다음 웹 서버에 로그인하여 "master"의 변경 사항을 현재 분기로 빠르게 전달합니다. 이 경우 "라이브"분기입니다.
--ff-only
서버에 변경 사항이 있으면 실패한다고 말합니다.
서버에 변경 사항이 있으면 다음을 사용하여 로컬 마스터로 가져올 수 있습니다.
git pull web live
더 많은 것. 이 작업을 수행하기 전에 원격 서버에서 SSH 키를 설정하므로 암호를 입력 할 필요가 없습니다
이것은 github 또는 gitlab과 전혀 관련이 없습니다. 변경 사항을 푸시 할 수도 있지만 연결되어 있지 않습니다.