2012-06-20 3 views
0

이 튜토리얼 'Using Git to manage a web site'을 따라 Tower를 사용하여 로컬 서버를 커밋하고 원격 서버에 푸시합니다. 누르면하면 다음과 같은 메시지와 함께 성공 : 내 포스트받을 훅이 실행되는 것을 확인했습니다힘내 사이트 배포 - 체크 아웃 후 수신 후크가 작동하지 않음

Pushing to ssh://[email protected]/~/git/tprevo.git 
stdin: is not a tty 
Counting objects: 40, done. 
Delta compression using up to 2 threads. 
Compressing objects: 100% (37/37), done. 
Writing objects: 100% (40/40), 171.95 KiB, done. 
Total 40 (delta 3), reused 0 (delta 0) 
To ssh://[email protected]/~/git/tprevo.git 
* [new branch]  master -> production 
updating local tracking ref 'refs/remotes/production/production' 

Successfully created tracking connection. 

하지만 checkout 명령은 내가 나의 작업으로 설정 한 무엇을 믿는에 밀려 코드를 추가하지 않습니다 예배 규칙서. 나는 이것을 하루 종일 알아 내려고 노력해 왔습니다.

후 나타날 수

#!/bin/sh 
GIT_WORK_TREE=/home/tprevo/public_html/tprevo git checkout -f 

내가 망할 놈의 새로운 배울 매우 치열 해요. 이것을 디버깅하는 가장 좋은 방법은 무엇입니까?

+0

'/ home/tprevo/public_html/tprevo'에 대한 권한을 확인 하시겠습니까? 사용자가 ssh로 쓸 수 있어야합니다. –

+0

예 쓰기가 가능하며 일시적으로 777로 설정했지만 파일은 그 경로에 체크 아웃되지 않습니다. 경로가 쓰기 가능하지 않으면 오류 메시지가 표시되지 않습니까? – okyanet

+0

'/ home/tprevo /'와'/ home/tprevo/public_html'은 최소한'111' ('a + x') 이상 필요합니다. –

답변

7

오케이 ... 비슷한 설정이 있습니다 ... 파일을 실행할 수 있습니까? 당신이 그것을 chmod를 할 필요가 다음 실행 아니라면

sudo chmod +x post-receive 

UPDATE

당신이 할 수있다라는 이름의 지점을 가지고 있음을주의해서 ... ... 파일 속성을

ls -la post-receive 

을 확인하시기 바랍니다 수신 후크에 대한 체크 아웃 명령에 구체적으로 나타나기를 원합니다 ...

git checkout -f production 
+0

그건 그랬다. 나는 '프로덕션'브랜치를 특별히 체크 아웃하지 않았다. 나는이 설정에 매우 만족하며, 내 dev 및 프로덕션 환경에 간단하게 배포 할 수 있습니다. 정말 고맙습니다! – okyanet

+0

기꺼이 도와 드릴 수 있습니다 :-) –

+0

매력처럼 작동합니다! –