Ответ - нет.
Невозможно настроить удаленный репозиторий, чтобы у всех, кто его клонировал, поведение по умолчанию git pullизменялось.
Вы можете, однако, установить серверную ловушку, которая проверяет, что никто не нажимает коммиты слияния (возможно, что-то вроде этого ).
Есть также некоторые параметры конфигурации, которые могут вас заинтересовать. Все разработчики, которые клонируют из удаленного репозитория, должны будут установить его самостоятельно.
1. Вариант branch.<name>.rebase
Вы можете настроить локальную ветку так, чтобы она всегда использовалась --rebase, заменяя <name>ее именем на ветку:
git config branch.<name>.rebase true
После запуска этого на master, в masterразделе .git/configвыглядит следующим образом :
[branch "master"]
remote = origin
merge = refs/heads/master
rebase = true
2. Вариант branch.autosetuprebase
Выполнение этой предыдущей команды config для каждой ветви Git может быть проблематичным, поэтому вы можете настроить Git для автоматической настройки ее для каждой новой ветви:
git config branch.autosetuprebase always
(Вы также можете указать never, remoteи local, смотрите man git-configдетали.)
Без этой --globalопции конфигурация сохраняется .git/configи затрагивается только текущий репозиторий. При --globalэтом конфигурация сохраняется в ~/.gitconfig, и это затрагивает каждый ненастроенный репозиторий.
Эта опция не влияет на уже существующие ветки.
3. Вариант pull.rebase
git config --bool pull.rebase true
(Вы также можете дать ему --globalвозможность.)
Если этот параметр имеет значение true, выполнение git pullэквивалентно git pull --rebase, если branch.<name>.rebaseне было установлено значение false.