すべてのリポジトリに対して Git pull がデフォルトでリベースを使用するようにするにはどうすればいいですか? 質問する

すべてのリポジトリに対して Git pull がデフォルトでリベースを使用するようにするにはどうすればいいですか? 質問する

ホスト Git リポジトリを設定して、git pullその (ローカル) クローンから実行されたものが--rebaseデフォルトで を使用するようにする方法はありますか? Stack Overflow で検索して について知りましたbranch.autosetuprebaseが、クローンごとに個別に構成する必要があります。

私のプロジェクト フローは、機能ブランチを作成する前に ブランチをpull作成するように設定されています。これはほぼ常に を使用するため、これをデフォルトにできるかどうかを検討しています。developmergepull--rebase

ベストアンサー1

デフォルトのプル動作には、現在 3 つの異なる構成レベルがあります。最も一般的なものから最も細かいものまで、次のとおりです。

1.pull.rebase

これを に設定すると、は常に と同等になりますtrue(が明示的に に設定されていない限り)。これはリポジトリごとに設定することも、グローバルに設定することもできます。git pullgit pull --rebasebranch.<branchname>.rebasefalse

2.branch.autosetuprebase

これを に設定するalwaysと、追跡ブランチが作成されるたびに、以下のような構成エントリが作成されます。よりきめ細かい制御を行うには、これを または に設定し、リポジトリごとまたはグローバルに設定することもできます。never詳細については を参照してください。localremotegit config --help

3.branch.<branchname>.rebase

これを に設定すると、が明示的に使用されtrueない限り、特定のブランチは常にリベースを介してアップストリームからプルされることになりますgit pull --no-rebase

結論

したがって、リポジトリの将来のすべてのクローンのデフォルトの動作を変更することはできませんが、 を介して現在のユーザーのすべての (既存および将来の) リポジトリのデフォルトを変更することはできますgit config --global pull.rebase true

おすすめ記事