La réponse est non.
Il n'y a pas de moyen de configurer un référentiel distant afin que tous ceux qui le clonent aient le comportement par défaut de git pullchangé.
Vous pouvez cependant configurer un hook côté serveur qui vérifie que personne ne pousse les validations de fusion ( quelque chose comme ça , peut-être).
Il existe également des options de configuration qui pourraient vous intéresser. Tous les développeurs qui clonent à partir du référentiel distant devront le définir eux-mêmes manuellement.
1. Option branch.<name>.rebase
Vous pouvez configurer une branche locale pour qu'elle utilise toujours --rebase, comme ceci, en remplaçant <name>par un nom de branche:
git config branch.<name>.rebase true
Après avoir exécuté ceci master, la mastersection .git/configressemblait à ceci:
[branch "master"]
remote = origin
merge = refs/heads/master
rebase = true
2. Option branch.autosetuprebase
Exécuter cette commande de configuration précédente pour chaque branche Git peut être un problème, vous pouvez donc configurer Git pour le configurer automatiquement pour chaque nouvelle branche:
git config branch.autosetuprebase always
(Vous pouvez également spécifier never, remoteet local, voir man git-configpour plus de détails.)
Sans cette --globaloption, la configuration est enregistrée dans .git/configet seul le référentiel actuel est affecté. Avec --global, la configuration est enregistrée dans ~/.gitconfiget chaque référentiel non configuré est affecté.
Cette option n'affecte pas les branches déjà existantes.
3. Option pull.rebase
git config --bool pull.rebase true
(Vous pouvez également lui donner l' --globaloption.)
Si cette option est vraie, l'exécution git pulléquivaut à git pull --rebase, sauf si elle branch.<name>.rebasea été définie sur false.