答えはノーだ。
リモート リポジトリをセットアップして、クローンを作成するすべてのユーザーのデフォルトの動作が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
すべての Git ブランチに対して以前の構成コマンドを実行するのは面倒な場合があるため、Git を構成して、新しいブランチごとに自動的にセットアップすることができます。
git config branch.autosetuprebase always
never
( 、remote
、およびも指定できます。詳細についてはlocal
、を参照man git-config
してください。)
--global
このオプションを指定しないと、構成は に保存され.git/config
、現在のリポジトリのみが影響を受けます。では--global
、構成が に保存され~/.gitconfig
、構成されていないすべてのリポジトリが影響を受けます。
このオプションは、既存のブランチには影響しません。
3. オプションpull.rebase
git config pull.rebase true
(オプションを指定することもでき--global
ます。)
このオプションが true の場合、が に設定されていない限り、runninggit pull
は と同等です。git pull --rebase
branch.<name>.rebase
false