Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Git: Only push private config file to test repository and not to github?

Tags:

git

github

config

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?

like image 947
Clay Avatar asked Nov 14 '22 13:11

Clay


1 Answers

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).

like image 148
Unapiedra Avatar answered Nov 17 '22 04:11

Unapiedra