Filter drivers are the “automatic” way of implementing option 3, as detailed in “when you have secret key in your project, how can pushing to GitHub be possible?“:
The smudge
script will, on checkout:
- detect the right config files to modify
- fetch the information needed (best kept outside any Git repo) and will replace the template values by the actual one.
From there the developers can make any kind of modification they want to those config files.
It won’t matter, because the clean
script will, on commit, restore the content of that file to its original (template) value. No accidental push there.