6

を使用するときは git に常にマージ コミット ( --no-ff)を作成させたいgit mergeのですが--ffgit pull. これは可能ですか(構成で)?

4

2 に答える 2

3

これが私の暫定的なワークフローです ( pull.ffconfig オプションは git 2.x でのみ機能することに注意してください)。

この構成を使用します。

  • に設定merge.fffalseます。これにより、デフォルトのmerge動作が になり--no-ffます。
  • に設定pull.ffonlyます。これにより、デフォルトのpull動作が になり--ff-onlyます。

つまりpull、ローカルがリモートの前後にあるブランチにアクセスしようとするpullと、失敗します。その場合は、rebaseこれ以上遅れないように a を実行してください。

ノート:

に設定しようとしpull.ffましtrueたが、git はオプションが完全に設定されていないかのように扱っているようです。man ページには、それtrueが認識されている値であるとは記載されていないことに注意してください。

于 2015-04-02T18:01:16.330 に答える
3

役立つ可能性のある2つの構成は次のとおりです。

merge.ff

( git mergeman ページから):falseこの変数を に設定すると、このような場合に追加のマージ コミットを作成するように Git に指示します (--no-ffコマンド ラインからオプションを指定するのと同じです)。

pull.ff

git configマニュアルページから)

に設定pull.ffするtrueと、現在のコミットの子孫であるコミットをマージするときに、Git が追加のマージ コミットを作成しないデフォルトの動作が維持されます。

テストする: よりもpull.ff優先されmerge.ffますか?

git config pull.ff only
git config merge.ff false

Kelvin回答で言及され、によって確認されたgit-pull.shように、「only」は使用する値であり、「 」ではありませんtrue

于 2015-02-20T08:59:35.727 に答える