2013-08-16 3 views
1

내 Git repo에서 사용하는 맞춤 필터 스크립트가 있습니다..git 폴더에 전용 스크립트를 둘 수있는 전용 위치가 있습니까?

현재 내 소스와 함께 체크인하면 때때로 문제가 발생합니다. 필자가 레포에 필터 스크립트를 추가 한 버전보다 오래된 버전을 체크 아웃 할 때 필터가 실행되지 않을 수 있다는 경고를받습니다. 그들은 찾을 수 없습니다.

이 문제를 극복하기 위해 스크립트를 .git 폴더에 넣고 필요에 따라 존재하지만 이전 버전을 체크 아웃 할 때 문제가되지 않도록하고 싶습니다.

스크립트 내용이 repo에만 해당되므로 내 시스템의 다른 위치에 배치하기 만하면됩니다.

질문 : 내 스크립트를 저장할 수있는 .git 폴더 안에 '안전한'위치가 있습니까?

스크립트가 자동으로 정리되거나 더 많은 Git 버전에서 문제가 발생하지 않는다는 점에서 안전합니다.

답변

1

.git 폴더의 내용 자체는 매우 동적이지 않습니다. (예기치 않게 변경되는 것은 심판과 로그이므로 예측하지 못하게하십시오.)

리포지토리의 .git 폴더를 살펴보면 일반적으로 어떤 것이 있는지 꽤 잘 알 수 있습니다.

AFAIK, .git 폴더의 최상위 폴더는 일반적으로 마침표로 시작하지 않으므로 .git/.scripts 폴더에 개인 스크립트 파일을 포함시킬 수 있습니다.

원한다면 info 폴더 안에 만들 수도 있습니다. 그게 당신에게 달려 있으며 더 질서 정연합니다.

1

왜 스크립트의 이름을 .gitignore 파일에 포함시키는 것이 좋을까요? 이렇게하면 스크립트가 추적되지 않으므로 원하는 위치에 스크립트를 배치 할 수 있습니다.

+0

좋은 지적. 이것은 원칙적으로 작동하지만 기본적으로 절대적으로 필요하지 않은 파일로 작업 트리를 복잡하게 만들고 싶지는 않습니다. 소스 트리는 가능한 한 깨끗해야합니다 ... – eckes

+0

이 경우, 스크립트를 repo 외부에두고 필요할 때 repo에서 호출하는 것이 가장 좋은 이유는 무엇입니까? '.git' 디렉토리에 스크립트를 저장해야한다면,'.git/hooks /'에 투표 할 것입니다. 이 디렉토리에는 이름을 기반으로 호출되는 스크립트가 들어 있습니다 (예 : 모든 커밋 작업 전에 자동으로 호출되는'pre-commit '). 스크립트가 후크 스크립트 이름과 충돌하지 않으면 스크립트 이름을 그대로 유지해야합니다. – mart1n