skysan's programming notebook

コーディングして思ったことなどを気ままに

Pull Requestしなくても、ブランチの履歴を残ししたい

背景

  • リモートリポジトリはGitHub、ツールはGitHub Desktopを利用
  • GitHub-Flowに沿って、機能単位でブランチを作成している
  • そのままブランチをmasterにマージしても、Pull Request同様にマージコミットしたい

まとめ

  • マージコミットするようにgitの設定を変更する
    • gitの設定をno-ffに設定
  • これ(bofore)を f:id:skysan:20190704201802p:plain
  • こうした(after) f:id:skysan:20190704201934p:plain

原因

  • gitのマージの設定がFast-Forwordになっている

Fast-Forwordとは

  • マージ元のブランチがマージ先よりも新しい状態になる
  • 上の画像のbeforeの状態

解決策

  • gitの設定ファイルにno-ffの設定を追加する
# --no-ffオプションを使わない
$ git config --global --add merge.ff false

# pull の時は--no-ffオプションを使わないようにしましょう
$ git config --global --add pull.ff only

# 確認
$ git config --global -l

参考元

参考リンク