At first: This is (hopefully) no duplicate of this or this.
The current status: I committed a file with credentials for an internal database to my Git repository. This was fine, as I used it only alone. Then my group started to clone, push and pull around in this project. We now have several Git repositories (one central and some developers).
The problem: We now want to give public access to the source code, and to the Git repository or at least let Git manage the details of others contributing to the code.
The question: What would be a good strategy to
a) remove the file with the credentials from the central or from all repositories, or
b) set up a new Git repository as kind of 'interface' to the outer world?
If choosing (b), how could we easily communicate changes back to the main repository?
Due to the already widespread distribution, we'd really like to not do a git rebase
or a git filter-branch
on each and every current repository.