2009-12-13 3 views
2

수신시 서브 도메인을 자동으로 업데이트하기 위해 라이브 서버에 git repo를 설정하려고합니다. 이 가이드 사용 http://toroid.org/ams/git-website-howto. 내가 /var/git/domain.com.git/에 -f 자식에게 체크 아웃을 실행하면Git post-receive hook은 쉘과 다르게 작동합니다.

후크/설정

#!/bin/sh 
pwd 
git checkout -f 

[core] 
     repositoryformatversion = 0 
     filemode = true 
     bare = false 
     worktree = /var/www/vhosts/domain.com/subdomains/staging/httpdocs 
[receive] 
     denycurrentbranch = ignore 

을 포스트 - 수신 그것 작동하면 하위 도메인이 업데이트됩니다.

/var/git/domain.com.git 
fatal: This operation must be run in a work tree 

이 후크에있는 쉘에서 작동하지만 내가 왜 모르겠어요 : 나는 누르면 그러나, 나는 다음과 같은 출력을 얻을. 누구나 나를 계몽시킬 수 있습니까?

답변

0

작업 트리에 대한 사용 권한으로 인해 fatal: This operation must be run in a work tree 오류가 발생하여 읽을 수 없습니다.

1

cd /var/www/vhosts/domain.com/subdomains/staging/httpdocs을 수신 후크에 추가하십시오.

+0

후크 또는 셸에서는 작동하지 않습니다. /var/www/vhosts/domain.com/subdomains/staging/httpdocs에는 .git 폴더가 없으므로 그러나 내 ssh 사용자는 해당 폴더에 대한 사용 권한이 없으므로 권한 거부 오류가 발생합니다. 나는 이것이 내 문제의 원인이라고 생각한다. – Jake

관련 문제