2010-02-19 4 views
5

해당 파일의 변경 사항을 적용 할 때마다 특정 파일의 특정 문자열을 숨기고 싶습니다.git commit 전에 파일에서 문자열 숨기기

실제로 원격 저장소에 공개해서는 안되는 파일에 URL이 있습니다. 어쨌든 사전 커밋 및 커밋 후크 또는 유사한 것을 사용하여 그것을 숨길 수 있습니까?

현재 git 저장소로 작업하고 있지만 svn을 사용하여이 작업을 수행하는 방법을 알고 있으면 좋을 것입니다.

감사합니다, 시망

답변

4

버전 관리에서 실제로 해당 파일을 사용해야하는 경우 git attribute filter driver을 사용하십시오 (GitPro book 참조).

필터 드라이버는 불특정 남아있을 수있는 하나의 clean 명령 및 명령 smudge 구성된다.
smudge 명령이 지정되면 명령에 표준 입력의 blob 객체가 입력되고 표준 출력이 작업 트리 파일을 업데이트하는 데 사용됩니다.
마찬가지로, clean 명령은 체크인시 작업 트리 파일의 내용을 변환하는 데 사용됩니다. 깨끗한 스크립트 코딩 된 URL에 그 내용을 복원하는 동안

그런 식으로, 스크립트 (개인 버전 만 힘내 관리하지 않는 당신의 repo에)에 얼룩에 의해 참조, 코딩 된 URL을 대체 할 수 .
git이 관리하고 어디서나 푸시 된 동일한 스크립트의 공개 버전은 아무 것도하지 않고 URL을 모호하게 유지합니다.

alt text

+0

감사. 그게 내가 찾고 있던거야. – simao

7

당신은 (당신의 환경이 것을 지원하는 경우, 이러한 리소스 파일로) 별도의 파일에서 해당 문자열을 유지하고, 버전 컨트롤에서 해당 파일을 넣을 수 없었다.

+0

이렇게해도됩니다. git hook을 사용하지 않아도되고 중요한 정보를 저장할 수있는 중앙 위치를 차지하는 측면에서 더 깨끗합니다. –

+0

+1. 이는 소스 제어 시스템과 설치 별 설정을 유지하는 가장 쉬운 방법입니다. 하지만 git (svn과 달리)는 부분적인 파일 커밋을 허용하기 때문에 최소한 git을 사용하면 원래 계획을 세울 수있는 방법이 있어야합니다. – Thilo

+0

예, 실제로 이와 같은 간단한 해결책이 효과적입니다. 감사합니다 :) – simao

관련 문제