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?

  • How can I deploy ASP.NET (mvc) site using GIT and for ex. via FTP?
  • single file git deployment into server
  • GitLab Continuous Deployment to Azure Web App
  • deploy nodejs to heroku
  • Running Gulp in post-receive hook after Git push
  • Why does composer removes my dependencies on deploy?
  • Cloning git repo
  • To git checkout without overwriting data
  • How do you keep changes separate and isolated across multiple deployment environments in git?
  • GIT: (Kohana) Project setup
  • How can I make a complex octopus merge?
  • How do I migrate a flat svn repo to git repo
  • 2 Solutions collect form web for “Conditional .gitignore based on origin”

    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.

    You might want to look into Heroku db:push

    I’ve used that to synch data and you can still ignore all db info.

    Git Baby is a git and github fan, let's start git clone.