How to store a git config as part of the repository?

There are 3 supported scopes of .gitconfig file: --system, --global, --local. You can also create a custom configuration file, and include it in one of the supported files.

For your needs custom – is the right choice. Instead of writing your filter in .git/config you should save it in .gitconfig file in your repository root:

your-repo/
│
├── .git/
│   ├── config
│
├── .gitconfig
│

Create the .gitconfig with your filter and commit the changes. Then your colleagues will always keep it updated — but they will have to include it manually. It is not possible to automatically include your custom configuration file through git alone, because it creates a security vulnerability.

To apply this configuration for a single repository, each user will need to run the following command in your-repo/:

git config --local include.path ../.gitconfig

Reference: https://git-scm.com/docs/git-config#_includes

Be careful not to store personal data in the custom .gitconfig, like user.*, keep those in your global .gitconfig.

Leave a Comment