2013-05-27 2 views
1

많은 많은 답변을 통해 봤지만 결과는 아무 것도 없습니다.Git post-receive가 나를 위해 작동하지 않습니다

기본적으로 수신 후 호출되지 않습니다. 이 /home/git/repo.git/hooks/post-receive

#!/bin/sh 
2>&1 > "post-receive.log" 
cd /home/ubuntu/project 
git checkout -f master 

우리는/집/우분투에 체크 아웃 할/프로젝트 내부의 스크립트입니다

우분투 서버가 사용자와 있습니다 우분투이라고합니다. git이라는 사용자가 있습니다. git 사용자 아래 저장소에 대해 복제/푸시/풀 등을 수행합니다.

sudo chmod + x 수신 후이 완료되었습니다.

git 사용자는 sudoer입니다.

그래서 푸시가있을 때 변경됨! 아무 일도 발생하지 않습니다. post-receive.log는 작성되지 않습니다. git 사용자로 서버에서 수동으로 스크립트를 실행할 수 있습니다. 우분투 사용자가 아니기 때문에 ...

+0

다른 사용자로 (심지어 수동으로) 스크립트를 실행할 수 없다고합니다. selinux가 켜져 있다면 그게 방해가 되니? – torek

답변

0

우분투 사용자 만 사용하여 repo를 다시 만들었습니다. 망할 놈의 사용자가 무슨 일을했을지 모르겠다.

비슷한 문제에 직면 해 있으며 Git에 다른 사용자 계정을 사용하는 사용자는 모두 한 사용자 아래의 다음 자습서를 사용해보십시오.

http://caiustheory.com/automatically-deploying-website-from-remote-git-repository

그러나 우리가 core.bare 구성 후 core.worktree 을 설정했다 유의하시기 바랍니다.