git merge —ff と —no-ff の違いを理解するための日本語と英語の記事を読み漁ったので、それぞれご紹介します。
日本語の記事
英語の記事
僕は、基本的に git merge —no-ff origin/master してます。
git fetch origin master
git merge --no-ff origin/master
更にいうと .gitconfig に nffmerge という alias を設定してるので git nffmerge origin/master を使っています。
~/.gitconfig
[alias]
nffmerge = merge --no-ff
git コマンドのデフォルトの挙動を merge.ff false に設定するというアプローチもあります。
git config --global --add merge.ff false
git config --global --add pull.ff only