2014-10-10 2 views
2

동일한 프로젝트 폴더가있는 원격 호스트는 물론 localhost에도 git이 설치되어 있습니다.
그래서 localhost에서 1 repo와 원격 호스트에서 1은 모두 동일한 파일을 포함합니다. 내가하고 싶은 것은 개발을 위해 localhost 파일을 사용하고 리모컨으로 파일을 업데이트하는 것입니다.git를 사용하여 로컬과 원격 호스트에있는 두 개의 동일한 repos 하나를 동기화하십시오 (github 아님)

어떻게 가야합니까?

답변

3

로컬 repo에 리모컨을 추가하고 원격 호스트로 푸시하기 만하면됩니다.

  • 자식 데몬
  • 공유 폴더
  • HTTP (: 그 내용은

    git remote add origin /url/remotehost/bare_repo 
    git push --all 
    

    , 방법이 있어야합니다 원격 호스트는 supported protocols 중 하나를 통해 로컬 호스트에 액세스 할 수 있습니다 s)

  • ssh

그리고 원격 호스트는 밀어 넣을 수 있으려면 bare repo이어야합니다.

해당 베어 repo에서 post-receive hook which will checkout the received content in your remote host project folder을 선언 할 수 있습니다.


영업 이익은 SSH (ssh://202.XXX.xx.xx:/path/to/repo.git)를 선택했지만 밀어/가져 오는 문제가 있었다. 원격 REPO를 복제

또한이 제가 원격 서버의 REPO를 소유 한 사용자를 지정하는 것이 좋습니다

Bad port '' fatal: Could not read from remote repository. 

오류 제공 작동하지 않습니다.
예 : 'git': [email protected]
다음에하고 ':'없이 시도하십시오 sshd를 실행해야

[email protected]:/path/to/repo.git 
# or 
[email protected]/path/to/repo.git 

. 포트는 기본 포트 여야합니다 (22).
sshd logs on the server side (/var/auth/log)을 확인할 수 있습니다.

결국 Op는 설정이 작동한다고보고합니다.


post-receive 후크는 서버에 베어의 repo에 넣어되어야하고, 실행 할 :

cat > /path/to/bare/repo.git/hooks/post-receive 
#!/bin/sh 
GIT_WORK_TREE=/path/to/live/folder GIT_DIR=/path/to/bare/repo.git git checkout -f 


chmod +x /path/to/bare/repo.git/hooks/post-receive 
관련 문제