I have an application that I want to host on Heroku. It has sensitive database information that I don’t want pushed into the public repo on github… However, I can’t add it to the gitignore file, because then it won’t get pushed to heroku.
Is it possible to have a conditional gitignore, where I ignore that YML file in origin, but not heroku?
Unfortunately, no. Git doesn’t support that feature, so you are probably out of luck. There are various ways to get local-only ignore files in different repositories (
.git/info/exclude), or on different machines (global ignore), but nothing on a per-origin basis.The easiest work-around might be to have a “public” branch that has that file deleted, and a pre-commit hook to ensure that the public branch never accepted a commit that added it.
No assurances that won’t ever leak the blob to the public copy, however.