私にとっての典型的なgitワークフローは、リモートリポジトリのクローンを作成し、gitpullを使用して最新の状態に保つことです。プルするときにマージコミットを望まないので、-ff-onlyオプションを使用します。
また、機能作業のためにローカルブランチを作成します。ブランチ履歴を保持したいので、ローカルブランチをローカルクローンにマージして戻すときは、-no-ffオプションを使用します。
デフォルトでこれらのオプションを使用するようにgitを構成するにはどうすればよいですか?現在、私の.gitconfigは次のようになっています。
[merge]
ff = false
[pull]
ff = only
ただし、git pull(実際にはgitfetchとgitmerge)は、マージオプションを選択しているため、マージを作成しているようです。
git-config
のマニュアルページpull.ff
によると、そうではないはずです。
(...)onlyに設定すると、そのような早送りマージのみが許可されます(コマンドラインから--ff-onlyオプションを指定するのと同じです)。 この設定はプル時にmerge.ffをオーバーライドします。
構成pull.ff
はGit2.xで導入されたため、Git1.xでは期待どおりに機能しません。おそらくmerge.ff
構成を取得し、プルを実行するときにそれを使用します。 。