As mentioned in the comments, it is not possible to have repository configurations roll out to everybody who clones the repository. This applies to direct configurations stored in .git/config
but also to things like hooks. Whenever you clone a repository, the default repository template is copied from /usr/local/git/share/git-core/templates
and complemented with general configurations (e.g. the .git/config
and general refs) that are created as part of the cloning process.
Since the configuration is always local to the repository, cloned repositories will also not copy over settings from the origin’s local configuration.
For hooks, the common solution to this problem is to have some setup script, either directly within the repository or as part of some other globally available tooling (e.g. Gerrit’s git-review
) that sets up the local configuration when it’s first used.
For your diff/merge tool, you could provide a similar setup script that does this for your team members.
Note though, that tools are often very specific not only to the computer that it’s being used on (e.g. I could have installed my Beyond Compare into a different folder than you), but also very subjective. There may be people who are more comfortable with using tool X instead of the tool Y you configured as a default. So I would recommend to leave this up to the developer. Chances are, if they care, they already set up some tool globally anyway.