2012-03-28 3 views
1

데이터베이스 구성 파일 database.yml이 있습니다. 내 클라이언트가 서버 복제본을 테스트하기 위해 전체 repo를 빌드하므로 Git에 있어야합니다.힘내 - 어떻게 동시에 .gitignore에 파일을 추가하고 여전히 자식/원격 저장소에 계속?

그러나 개발을 위해 로컬 컴퓨터에이 파일의 복사본이 있습니다. 문제는 로컬로 변경하고이 변경 사항을 무시하도록합니다. 변경 사항이 적용될 때 변경 사항을 커밋하지 않습니다. 그것을 덮어 쓰지 않아야한다/풀 요청을 할 때 다른 것에 대해 번거롭게해라.

어떻게 달성 할 수 있는지 알고 계십니까? 감사!

답변

4

버전 관리에 실제 데이터베이스 자격 증명을 포함하면 안됩니다. 빈 username/passwword를 사용하여 database.yml 파일을 database.yml.example에 복사하고 database.yml을 .gitignore에 추가하십시오. 복제 할 때마다 database.yml.example을 database.yml에 복사하고 해당 설치의 특정 데이터베이스 자격 증명을 database.yml 사본에 저장하십시오.

배포 할 때마다 프로덕션 환경을 다시 설정하지 않으려면 Capistrano와 같은 것을 사용하여 배포간에 구성 파일 같은 것을 유지하거나 영구 스크립트에 대한 링크를 만드는 자체 스크립트를 작성하십시오 deploy 디렉토리 외부의 database.yml.

을 사용하여 Git이 해당 파일의 로컬 변경 사항을 무시하도록 할 수도 있지만 그렇게해서는 안됩니다. 올바른 해결책은 실제 데이터베이스 자격 증명을 힘내에서 유지하는 것입니다.

관련 문제