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 pull
changé.
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 master
section .git/config
ressemblait à 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
, remote
et local
, voir man git-config
pour plus de détails.)
Sans cette --global
option, la configuration est enregistrée dans .git/config
et seul le référentiel actuel est affecté. Avec --global
, la configuration est enregistrée dans ~/.gitconfig
et 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' --global
option.)
Si cette option est vraie, l'exécution git pull
équivaut à git pull --rebase
, sauf si elle branch.<name>.rebase
a été définie sur false
.