2012-07-21 3 views
1

별도의 작업 트리를 사용하여 Git repo를 만들려고합니다. 나는이 자습서를 편지에 따라 갔다 : http://caiustheory.com/automatically-deploying-website-from-remote-git-repositoryGit에서 사용자 작업 트리로 파일을 업데이트하지 않습니다.

나는 내 로컬 레포에서 커밋하고 나의 리모컨으로 밀어 낼 수있다. 작업 트리로 지정한 파일 경로에 내가 밀어 넣은 파일이 없습니다.

파일 경로가 잘못되었을 수 있습니다 (MediaTemple GS에 있음).하지만 밀어 넣을 때 오류가 발생하지 않습니다. 여기

내 원격에서 설정입니다 :

[core] 
repositoryformatversion = 0 
filemode = true 
bare = false 
worktree = /home/xxxxx/domains/xxxxxx.com/html/b 

[receive] 
denycurrentbranch = ignore 

내 포스트 - 수신 및 사후 업데이트 후크입니다 모두 777 모두이 포함되어

#!/bin/sh 
git checkout -f 

내가 진정으로 어떤 도움을 제공 감사하겠습니다을 .

감사합니다,

--Nick

답변

1

이 같은 것을 할 것입니다 :

https://github.com/richo/git_template/blob/master/hooks/post-receive

또는 더 간결 :

#!/bin/sh 

# Kludge to read the last ref 
while read old new ref; do 
real_sha=$new 
done 

GIT_WORK_TREE=$PWD/../ git checkout -qf $real_sha 

기본적으로, 새로운 심판을 stdin에서 post-receive으로 전달되고, 그래서 당신은 그것들을 수동으로 읽을 필요가 있습니다.

당신이 원하는 것은 강제로 기존의 심판을 체크 아웃하는 것입니다.

관련 문제