2013-06-06 4 views
0

내 웹 서버에서 git repo를 사용하여 현재 워크 플로우 설정을 내 지점 masterstaging을 내 체크 아웃 후 수신 확인 함으로 각각 master이 내 라이브 사이트 내 스테이징 중 하나는 staging입니다.폴더를 삭제하지 않는 웹 사이트에 게시 후 수신 체크 아웃

모든 내 지점 밖으로 후크 검사, 그것은 폴더 javascript를 만들 수 있지만 폴더 js을 유지합니다 예를 들어 javascript에 폴더 js를 변경 한 경우 나, 파일 이름을 바꿀 때까지 잘 좋은이며 이전부터 내용입니다 커밋. git이 파일들이 사라 졌다는 것을 확신합니다. 브랜치를 로컬에서 체크 아웃 할 때 파일이 사라진 것처럼 보입니다.

#!/bin/sh 
GIT_WORK_TREE=/var/www/mysite/live git checkout -f master 
GIT_WORK_TREE=/var/www/mysite/staging git checkout -f staging 
+0

강제 체크 아웃에 "-f"를 사용하고 있습니까? –

+0

예,이 자습서의 경우에만 : http://toroid.org/ams/git-website-howto가 내 문제의 근원이 될 수 있습니까? – danbroooks

답변

0

작동 할 수 생각 :이 nolonger 자식 추적 모든 파일을 제거하고, 이렇게 반복적으로 수행

#!/bin/sh 
GIT_WORK_TREE=/var/www/mysite/live git clean -df 
GIT_WORK_TREE=/var/www/mysite/live git checkout -f master 
GIT_WORK_TREE=/var/www/mysite/staging git clean -df 
GIT_WORK_TREE=/var/www/mysite/staging git checkout -f staging 

. 파일이나 폴더의 이름을 변경하면 다음에 서버에 푸시 될 때 '제거'됩니다. 이것이 잘못되었거나 그것을 할 수있는 더 좋은 방법이 있다면 나는 다른 대답을 받아 들일지 모르겠지만 지금은 이것이 나의 질문이었습니다.

0

당신이 지점 강제를 체크 아웃 -f를 사용하는 것처럼, 변경 사항이 제대로 저지른되지 않을 수 있습니다

이 내 포스트받을 후크입니다. git commit을 먼저 시도하여 변경 사항을 올바르게 커밋 한 다음 분기 체크 아웃을 시도하십시오.

나는이 방법은 나의 현재 포스트를 받게되며 후크가 지금과 같은

+0

내 후크가 커밋되어야하고, 각 분기를 체크 아웃해야합니까? 하지만 repo의 내 로컬 사본에서 나는 이미 새로운 커밋을 추진하고있다. – danbroooks

+0

예 커밋해야합니다. 그렇지 않으면 변경 사항이 브랜치에 적용되지 않고 일관성없는 결과가 발생할 수 있습니다. 따라서 새 분기를 전환하기 전에 항상 변경 사항을 커밋해야합니다. –

관련 문제