Вы можете настроить две ветви. master
и secret
. Затем вы можете добавить и зафиксировать config/my_private_data.yml
в ветви secret
, которую затем можете вставить в основную ветку на тестовом сервере.
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
Затем выполните git checkout secret; git rebase master
, если у вас есть новые коммиты на мастере.
Не совершайте коммит на secret
, и если вы это сделаете, сделайте выбор этого коммита.
Конечно, не все хорошо с таким подходом. Из того, что я могу думать сейчас, вы можете непреднамеренно подтолкнуть секретную ветвь к github. Кроме того, вы не сможете по-настоящему работать в master
, если вам нужен my_private_data.yml
-файл (хотя вы можете извлечь этот файл из секретной ветви).