1. ホーム
  2. ギット

[解決済み】Git pullでrebaseをデフォルトで使用するようにするには?

2022-03-31 09:06:52

質問

ホストの Git リポジトリを設定する方法はありますか。 git pull その(ローカルの)クローンから行われる --rebase がデフォルトなのか?Stack Overflowで検索したところ、以下のことを知りました。 branch.autosetuprebase が、クローンごとに個別に設定する必要があります。

私のプロジェクトフローは、以下のように設定されています。 pull その develop の前に分岐します。 merge を作成し、そのブランチに機能ブランチを追加します。この pull ほぼ常に --rebase というわけで、これをデフォルトにできないか考えています。

どのように解決するのですか?

デフォルトのプル動作は、3つのレベルで設定できるようになりました。最も一般的なものから最も細かいものまであります。

1. pull.rebase

に設定する。 true というのは git pull とは常に等価です。 git pull --rebase (ただし branch.<branchname>.rebase を明示的に設定します。 false ). また、これはリポジトリごと、またはグローバルに設定することができます。

2. branch.autosetuprebase

に設定する。 always は、トラッキングブランチが作成されるたびに、以下のような設定項目が作成されることを意味します。より細かく制御したい場合は、次のように設定することもできます。 never , local または remote で、リポジトリごとまたはグローバルに設定することができます。参照 git config --help を参照してください。

3. branch.<branchname>.rebase

に設定する。 true は、そのブランチが常にリベースによってその上流からプルすることを意味します。 git pull --no-rebase を明示的に使用します。

結論

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