실제 웹 사이트로 코드를 직접 푸시하는 것은 좋지 않습니다. 이를 위해 공용 디렉토리 외부의 서버에 맨 저장소를 만들 수 있습니다. 이 리포지토리는 라이브 웹 사이트 리포지토리에 변경 사항을 적용하며 웹 사이트의 게이트 골키퍼와 같습니다. 생성이와
$ cd ~/www
$ git init
$ git add .
$ git commit -m"initial import of pre-existing web files"
HTTP를 통해 액세스 할 수없는 디렉토리로 이동 : 일을 설정하려면, 라이브 웹 사이트 디렉토리 주위에 저장소를 만들 수 있습니다. 일을 간단하게하기 위해,이 벌거 벗은 디렉토리 HUB와 웹 사이트 디렉토리 LIVE를 호출 할 수 있습니다. 여기 베어 저장소를 초기화 :
$ cd; mkdir site_hub.git; cd site_hub.git
$ git --bare init
그런 다음, 라이브 웹 사이트 작업 디렉토리 내부에서 원격으로이 베어 저장소를 추가하고 라이브 웹 사이트의 마스터 분기를 밀어 넣습니다.
$ cd ~/www
$ git remote add hub ~/site_hub.git
$ git remote show hub
* remote hub
URL: /home/rizwan/site_hub.git
$ git push hub master
라이브 저장소의 변경 사항을 적용하려면 후크가 필요합니다. 허브 저장소 내부 post-update
후크 만들기 :이 후크 내부
#!/bin/sh
echo
echo "**** Pulling changes into Live [Hub's post-update hook]"
echo
cd $HOME/www || exit
unset GIT_DIR
git pull hub master
exec git-update-server-info
을, 당신은 끌어 오기가 완료된 후 서버를 다시 시작하는 코드를 가질 수있다.
또한 LIVE 저장소에 post-commit
후크를 만들어 라이브 웹 사이트의 변경 사항을 허브로 다시 보냅니다.
로컬 컴퓨터에
#!/bin/sh
echo
echo "**** pushing changes to Hub [Live's post-commit hook]"
echo
git push hub
, 그 변경 사항을 원격으로 HUB 저장소를 추가하고 밀어 : 얼마나이 작품
git remote add hub <hub-repository-url>
을, 당신은 몇 가지 코드를 작성하고 노출 된 저장소에 밀어하는 업데이트 후크를 사용하여 변경 사항을 라이브 저장소로 푸시하고 서버를 다시 시작합니다.
여러 프로덕션 서버로 확장 한 경우 어떻게 작동합니까? – Xerri
결국 여러 원격에서이 명령을 실행하는 배포 스크립트를 작성해야합니다. – rizwaniqbal
궁극적으로 어쨌든 살기를 원할 때 살기로 직접 밀어 넣지 않으시겠습니까? –