No, that won't work. There is no such thing as a central git server in a distributed version control system - at least not in the technical sense.
Each developer has his own repository to which he checks in his changes. When those changes are pushed to the repository you declare as central, the data is not re-processed.
You will have to set that configuration on every local repository.
Unfortunately, there is no alternative with .gitattributes either.
Local options for a certain repository that will then be cloned by the developers isn't an option either. The following simple experiment shows this:
d:\Temp\Origin>git init
Initialized empty Git repository in d:/Temp/Origin/.git/
d:\Temp\Origin>git config --local --add core.autocrlf input
d:\Temp\Origin>git config --local --list
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
core.hidedotfiles=dotGitOnly
core.autocrlf=input
d:\Temp\Origin>cd ..
d:\Temp>git clone d:\Temp\Origin Developer
Cloning into 'Developer'...
warning: You appear to have cloned an empty repository.
done.
d:\Temp>cd Developer
d:\Temp\Developer>git config --local --list
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
core.hidedotfiles=dotGitOnly
remote.origin.url=d:\Temp\Origin
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
Note how the call to git config --local --list
in Origin
lists core.autocrlf=input
and the same command in Developer
doesn't, although we just cloned Developer
from Origin
.
That demonstrates that repository-local configuration values are not cloned.