내 응용 프로그램은 Heroku에서 호스팅되며 공용 github 저장소도 있습니다.github를 사용하여 공개 된 git 리포지토리를 호스팅하는 한편 민감한 데이터 파일을 추적 할 수 없도록 보장합니다.
내 응용 프로그램에는 내 amazon S3 자격 증명이 포함 된 구성 파일이 있습니다. 파일이 영웅에게 푸시되고 github에 푸시되지 않도록하는 것이 중요합니다.
그래서 나는 master 브랜치를 heroku로 밀어 넣고 별도의 github 브랜치를 만들고 gitignore 파일이 내 s3.yml 파일을 참조하는지 확인하려고했다. github 브랜치를 github.com으로 푸시 "git push origin github : master"할 수 있습니다.
이것은 첫 번째 커밋에는 잘 작동합니다.
하지만 내 마스터 브랜치로 전환하고 멋진 코드를 작성한 다음 모든 것을 영웅에게 보냅니다. 그런 다음 github 분기로 다시 전환하고 "git merge master"를 수행하여 새 코드가 추가되도록합니다. 그러나 이로 인해 마스터 브랜치의 s3.yml 및 gitignore 파일이 github 브랜치에 복사됩니다. 큐 - 헤드 - 투 - 데스크 뱅잉 세션.
추적 할 수없는 파일이 추적되지 않은 상태로 유지되는 동안 분기를 동기화하는 방법에 대한 조언이 있습니까? git이 원치 않는 S3.yml 파일과 다른 .gitignore 파일을 병합하지 않도록 할 수 있습니까?
내가 죽은 말을 여기에서 채찍질하고 있습니까? 나는 개인 github 계정에 대한 지불을 정당화 할 수 없다. 그러나 대답은 단지 .... 또는 프로젝트 잠금 장치로 바꾸는 것을 포함 할 것이라고 상상한다.
나는이 문제가 내 쓰레기 기술과 방법이 .... 미리 감사드립니다.
편집 ::: 수락 된 대답은 훌륭한 해결책이지만, 나는 방금 내가 좋아하는 새로운 해결책을 찾았습니다. 그것에 대해 읽으십시오 : http://docs.heroku.com/config-vars - Heroku에 그 똑똑한 사람들은 모두를위한 응답이 ... 심각하게 최고
+1 heroku의 솔루션 – Jimmy
Heroku config var 솔루션은 S3 자격 증명과 같은 매개 변수에 관심이있는 경우 작동합니다. 하지만, 예를 들어 개발과 Heroku에 동일한 repo를 사용하려는 상황을 볼 수 있습니다. Heroku에 node_modules 폴더를 보내고 싶습니다 (Heroku가 모든 것을 다시 빌드하는 것보다 권장되기 때문에). Github 또는 Gitlab은 그렇지 않습니다. 또한 구축 전 소스 코드처럼 배포를 위해 Heroku에서 필요하지 않은 여러 폴더가있을 수 있습니다. 이를 위해서는 사용자 지정 병합 드라이버와 여러 분기가 필요합니다. – neverfox