원격 특이 적 .gitignores를 설정하는 방법이 있습니까?
문제
다른 리모컨에 대해 다른 .gitignore 파일을 설정하는 간단한 방법이 있습니까? 나는 Heroku와 Github로 밀어 올리는 저장소가 있습니다. Heroku의 경우 Database.yml이 필요하지만 정보 중 일부를 Github까지 푸시하는 것을 원하지 않습니다. 따라서 각 리모컨마다 다른 .gitignore 파일이 필요합니다.
나는 Database.yml을 무시하는 두 개의 별도의 분기를 시도했지만 하나는 그렇지 않습니다. 문제는 Heroku 브랜치를 확인하고 내 Github 브랜치로 돌아갈 때 전체 데이터베이스 .ml 파일이 사라진다는 것입니다.
팁이 있습니까?
해결책
나는 Heroku의 요구 사항에 대해 아무것도 모른다 - 희망적으로 정의가 옳고 당신은 단순히 문제를 피할 수 있습니다. 당신이 할 수 없거나 다른 사람이 이것을 찾으면 ...
두 가지 리모컨이 거울이되기를 원한다면 (동일한 커밋이 있음) 정의상 해당 커밋에 동일한 파일이 있어야합니다. 따라서 두 가지 선택이 있습니다 file-for-repo-B
모든 리포지토리에서 필요하지 않은 경우에도 두 가지 지점이있는 약간 지저분한 워크 플로를 사용합니다. master
그리고 for-repo-B
. 두 가지의 유일한 차이점은 Commits 만지는 것입니다. file-for-repo-B
; 지점 for-repo-B
항상 병합됩니다 master
(그러나 다른 방법으로는 결코 없습니다!). 이제 REPO B에서 다른 지점을 체크 아웃하는 것이 좋으며 모든 것이 좋습니다.
다른 팁
Database.yML에 데이터베이스 정보를 넣지 마십시오. 대신, Heroku 환경 변수를 사용하십시오.
a :
database.yml
변수 만있는 것과- 원격 서버에 따라 해당 변수를 올바른 값으로 바꿀 수있는 스크립트
database.yml
배포되었습니다.
그런 다음 스크립트를 a로 사용합니다 얼룩 속성 필터 드라이버:
원격 서버에서 체크 아웃 (및 작업 트리를 만들 때마다 스크립트가 실행되고 그에 따라 변수를 변경하여 사용자 정의를 제공합니다. database.yml
파일.
리모컨 중 하나가 필요하지 않은 경우 database.yml
파일은 여전히있을 수 있지만 Smudge 스크립트에 의해 비워집니다.