Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Conditional .gitignore based on origin

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?

like image 392
sethvargo Avatar asked Jan 22 '12 01:01

sethvargo


1 Answers

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.

like image 157
Daniel Pittman Avatar answered Sep 27 '22 20:09

Daniel Pittman