2012-01-15 3 views
3

서버 (phpfog.com)의 원격 저장소와 워크 스테이션에 로컬 저장소가 있습니다. 내 응용 프로그램은 캐시 파일을 생성하고 누군가가 푸시 할 때마다 원격 파일에서 파일을 삭제하려고합니다. 가능하면 가능합니까? FYI :이 파일은 .gitignore를 사용하여 무시됩니다 (아마도이 ​​방법을 사용하는 방법이있을 수 있습니다).힘내 : 푸시 후 파일 제거

나는 자식 훅에 대해 들어 봤지만 어떻게 사용하는지 거의 생각하지 못했다.

당신에게

편집 감사 : 나는 깨끗한 자식 (비 추적 파일을 제거)하지만 리모컨의 모든 푸시와 함께하고 싶어. 이 파일들은 응용 프로그램에 의해 생성되며, 실제로는 gitignoreing하여 해결할 수 없습니다.

답변

4

나는 수신 후크가 당신이 찾고있는 것이라고 생각합니다.

원격 캐시에 모든 캐시 파일을 지우고 포스트 - 수신 후크로 지정하는 bash 스크립트를 추가하기 만하면됩니다. 더 자세한 정보는 http://book.git-scm.com/5_git_hooks.html

+0

이 방법을 사용하면 문제가 해결되지만 파일 시스템 유지 관리는 Git에 대한 의존성을 저에게 완전히 부정합니다. – sciritai

+0

sciritai : 아래에서 설명했습니다. 그것은 "파일 시스템 유지 보수"가 아니며 푸시와 직접 연결된 작업입니다. – A123321

+0

Alexandr : 답변 해 주셔서 감사합니다. 이것은 내가 필요한 것입니다. 이제 서버에서 자식 설정을 변경하는 방법을 알아야합니다 (가능한 경우 확실하지 않습니다. 기술 지원팀에서 곧 답변 해 드리겠습니다). – A123321

1

사람들이 파일을 더 잘 무시하는 이유는 무엇입니까? 그냥 git rm --cached 그들과 커밋하고 밀어. 파일이 .gitignore에 올바르게 추가되었는지 확인하십시오. 그러면 실수로이 파일을 실수로 다시 추가하거나 밀어 내지 않게됩니다.

+1

내가 당신이 의미하는 바를 오해하지 않았 으면 좋겠다. 그러나 캐시 된 파일은 응용 프로그램이 서버에서 실행될 때 생성됩니다. 나는 워크 스테이션에서 커밋 할 때 무시합니다. 그러나 나는 또한 원격에서 시작된 캐시 파일을 제거해야합니다. 답변을 주셔서 감사합니다 – A123321

+2

그런 경우 캐시 된 파일에 대한 유지 관리를 수행하도록 응용 프로그램을 업데이트해야합니다. 프로덕션 서버에서 파일을 정리하는 경우 git에 대한 질문과 같이 들리지 않습니다. – sciritai

+0

응용 프로그램에서 업데이트 된 것을 어떻게 알 수 있습니까? Git은 코드를 다시 작성하고이 새로운 코드가 이전 캐시와 작동하지 않을 수 있으므로 푸시 직후에 gitignore에서 언급 한 폴더의 내용을 제거하는 방법이 있기를 바랐다. – A123321