All version control systems deal better with branches that converge.
One approach is to base "production" branch off the "development" branch, and only merge changes in the direction "development -> production". So all the private configurations files remain only in "production".
However, in my experience, that tends to be rather painful over the long term because you will inevitably want to merge some things from production to development. There are ways to do it, but they tend to be annoying: they involve either intermediate branches, or backporting changes.
A better solution is to move all the production-specific files out of the tree, so you don't have to deal with with parallel diverged branches at all. That's also a good design practice regardless of VCS concerns.