アヒルのある日

株式会社AHIRUの社員ブログです。毎週更新!社員が自由に思いついたことを書きます。

git pull --rebaseを勝手にやってくれるように設定する(ついでに、2.27.0から出るようになった警告を消す)

こんにちは、そろそろ大手を振ってお出かけしたいみえないプログラマです。

Gitのバージョンをアップしないまま結構放置してしまっていたので、この間アップデートしたところ、git pullを行った際に警告が出るようになりました。

Gitのリリースノートを読んでみると、2.27.0よりコンフィグでgit pullのやり方を指定するか、git pull時にオプションで--rebase--ff-onlyをつけない状態だと警告が出るようになったようです。つまり、曖昧なgit pullはやめよう、ということらしいです。

更に調べると、コンフィグでのgit pull時の方法の指定は

  • --rebaseを自動で行わない(これまでどおりの挙動)
  • --rebaseを自動で行う
  • fast-forwardでマージする

の3種類が存在することがわかりました。 この設定は上から順に、

$ git config pull.rebase false
$ git config pull.rebase true
$ git config pull.ff only

と実行すれば設定できます。

タイトルのように設定するには、2番目のコマンドを実行すればよいわけですね。

このコマンドはレポジトリ単位の設定のため、グローバルに設定したい場合は--globalオプションを付加してやればよいです。

この設定の中でも自動rebaseはレポジトリを破壊してしまうこともあるので、rebaseの挙動を理解してから設定したほうがよいかもしれませんね。