2012-05-18 6 views
1

그래서 세 개의 폴더를 보유하고있는 자식 저장소가 있습니다. 내 로컬 웹 서버에서는 문제가 없습니다. 그러나 라이브 서버에서이 폴더 중 두 개는 웹 루트 뒤에 있어야하며 그 중 하나는 웹 루트 인에 이어야합니다. 쉽게 밀기/당기기를 위해 서버에서 git repo를 사용하고 싶지만 폴더는 다른 위치에 있어야합니다.다른 위치에 폴더가있는 자식 저장소

누구에게도 해결책이 있습니까?

감사합니다.

+1

개발 환경에서 라이브 설정을 미러링하지 않는 이유는 무엇입니까? 제 경험상 다른 개발 및 라이브 설정은 오류가 발생하기 쉽습니다. – topek

+0

글쎄, 아직도 문제가있어. 라이브 서버의 www/디렉토리를 제어 할 수는 없지만 여전히 그 아래에있는 것들을 원합니다. –

답변

1

기본적으로 두 가지 옵션이 있습니다. 원하는 디렉토리 하나가 웹 루트에 있도록 웹 서버를 설정하거나 symlink를 사용하고 심볼릭 링크를 따르거나 문서 루트를 적절히 설정하여 허용하거나 일부 외부 프로세스에서 복사 할 수 있습니다.

후자의 경우 간단한 복사 cron 작업 또는 복사를 수행하는 다소 정교한 git commit 후크를 사용할 수 있습니다. rsync과 같은 것을 사용하면 실제로 변경된 내용 만 복사하게됩니다. 물론이 접근 방식을 더욱 발전시키고 테스트를 실행 한 후 파일을 올바른 위치에 복사하는 완전한 연속 통합 시스템을 사용할 수 있습니다.

0

각 Git repo는 데이터의 전체 사본이어야하기 때문에 repo를 디스크에 복제 할 때 폴더가 처음부터 올바른 위치에 있도록 구조화해야합니다.

유연성 (예 : 부분/딥 레벨 체크 아웃)을 원하면 Subversion이 실제로 더 적합합니다.

또한 두 번째 topek의 권장 사항에 따라 개발/테스트 설정이 제작과 일치하는지 확인하십시오.