I have a Rails app with a config/my_private_data.yml file. I would like to push the entire app both to my test server and to github.
However, when I push to the test server, I want to include the private file. When I push to github, I don't want to include the private file. What is the easiest way to go about this?
You can set up two branches. master and secret. You can then add and commit the config/my_private_data.yml in the secret branch which you can then push into the master branch at the testserver.
touch config/my_private_data.yml
git checkout -b secret
git add config/my_private_data.yml
git commit -m 'Commited secret file'
git push testserver_repo_url secret
git checkout master
git push repo_on_github master
Then do a git checkout secret; git rebase master if you have new commits on master.
Don't commit on secret and if you do, do a cherry pick of that commit.
Certainly, not all is good with this approach. From what I can think now, you could inadvertently push the secret branch to github. Also, you can't really work in master if you need the my_private_data.yml-file (you can do a checkout of that file from the secret branch though).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With