2012-06-11 2 views
0

확인을 클릭하십시오. git가 설치된 mac osx 서버가 있습니다. 우리는 프로젝트 공동 작업에이 도구를 사용합니다. 우리가 원하는 것은 웹 사이트를 볼 수 있도록 서버의 아무도없는 저장소에 푸시 할 수 있어야한다는 것입니다. 문제는 아무도없는 저장소에 마스터가있는 사용자가 체크 아웃되어 있으므로 마스터에 푸시 할 수 없다는 것입니다.사용자가없는 자식 원격 서버

내가 발견 한 유일한 방법은 다른 분기로 푸시 한 다음 마스터 분기로 병합하는 것입니다. 시간이 많이 걸리고 지루합니다.

원격 서버의 마스터 브랜치로 이동하여 서버의 웹 페이지를 볼 수 있습니까?

답변

1

일반적인 방법은 정확한 디렉토리 에 체크 아웃 HEAD을 연결할 후크가있는 저장소를 사용하는 것입니다.

GIT_WORK_TREE=/var/www/whatever git checkout -f 

그런 다음 당신은 그냥 배포하기 위해 그 베어 저장소에 밀어 : 기본적으로, 당신은 않는 post-receive 후크를 만들 것입니다. 이 방법은 비 베어 저장소로 푸시하는 것보다 이점이 있으므로 .git 디렉토리가 /var/www/whatever 아래에 있고 프로젝트의 파일 만 남게됩니다.

+0

고맙습니다. – Spoeken

+0

좋아, 말하자면 git 저장소가있는 폴더와 동일한 폴더에있는 파일을 갖고 싶지는 않습니다. 제 경우에는 저장소가있는 폴더의 이름이 xsessions이고 배포 할 파일이있는 폴더입니다 xsessions/www입니다. 나는 이것을 post-receive hook에 어떻게 써야 할까? – Spoeken

+0

파일을'xsessions/www'에 배포 하시겠습니까? 그렇지 않으면 나는 당신의 첫 번째 문장을 이해하지 못합니다 ... –