30

gitブックから:

そのマージで「早送り」というフレーズに気付くでしょう。マージしたブランチが指しているコミットは、現在のコミットのすぐ上流にあるため、Git はポインターを前方に移動します。別の言い方をすれば、1 つのコミットを、最初のコミットの履歴をたどることで到達できるコミットにマージしようとすると、Git はポインターを前方に移動することで物事を簡素化します。早送り"。

ただし、この「早送り」の副作用は、複数のコミットを含む機能ブランチがある場合、マスターにマージして戻すときに機能の履歴コンテキストが失われることです。つまり、コミットはこの機能の一部としてグループ化されません。

with fast forward:     x---x---x---x---x---x---x

without fast forward:  x---x---x         x---x---x---x
                                \x--x--x/

手動の方法は、git merge --no-ff

これをデフォルトとして設定する方法を知っている人はいますか?

4

2 に答える 2

46

merge.ff構成変数をfalse次のように設定します。

git config --global merge.ff false

(--global現在のプロジェクトへの影響を制限することなく)

于 2013-05-09T03:51:46.147 に答える
1

プルで早送りを維持したい場合は、pull.ff 構成でプルの merge.ff 構成をオーバーライドできます。

git config --global pull.ff true

詳細はこちら: https://git-scm.com/docs/git-config#Documentation/git-config.txt-pullff

于 2020-06-22T13:52:15.843 に答える