コミットを表示したくないgit merge
のではなく、git rebase
使用するときのことを本当に考えることはできません。デフォルトで早送りをオフにするようにgitを構成する方法はありますか?オプションがあるという事実は、方法があることを意味しているように見えますが、私はそれをドキュメントで見つけることができないようです。--ff
3 に答える
スレッドにはまだ保留中の質問があるようです: グローバルに (つまり、すべてのブランチに対して) 行う方法は? 記録には、以下を使用できます。
git config --add merge.ff false
...現在のリポジトリのすべてのブランチに適用します。オプションなしで誰かが実行していないすべてのリポジトリのすべてのブランチに適用するには(ローカル設定がグローバルをオーバーライドします)、次を実行します。--global
git config --global --add merge.ff false
ドキュメントから:
merge.ff
デフォルトでは、現在のコミットの子孫であるコミットをマージするときに、git は追加のマージ コミットを作成しません。代わりに、現在のブランチの先端が早送りされます。false に設定すると、この変数は、そのような場合に追加のマージ コミットを作成するように git に指示します (--no-ff
コマンド ラインからオプションを指定するのと同じです)。only に設定すると、そのような早送りマージのみが許可されます (--ff-only
コマンド ラインからオプションを指定するのと同じです)。
はい、あります--no-ff
。ブランチごとにマージ オプションを設定できます。
git config branch.master.mergeoptions "--no-ff"
$(REPO)/.git/config
以下をファイルに追加します。
[branch "master"]
mergeoptions = --no-ff
脚注: 私の経験について言えば、早送りをオフに切り替えることは git の初心者にとって最も役立つことが最終的にわかりました。リモート ..blarf' タイプのコミット。
脚注 2、10 年後: 以下の他の回答はより最新の構成オプションを提供しますが、実際には、空のマージコミットは実際には歴史を推論することをはるかに困難にします。