1

という開発ブランチdevel、 という機能ブランチfeature_1、 というテスト ブランチがありtestingます。これは私がやったことです:

  • feature_1から分岐devel
  • 機能を実装するために、ここでコミットが行われました
  • feature_1に合併されましたtesting
  • feature_1( で--no-ff)にいくつかのバグが発見されました
  • 追加のコミットが行われましたfeature_1
  • それまでの間、ホットフィックスは にマージされdevelfeature_1リベースされていません
  • feature_1testingに、 と再びマージされました--no-ff)
  • ブランチのすべてのテストtestingが成功し、feature_1ブランチをマージして戻すことができますdevel
  • にマージfeature_1しましdevel--no-ffが、ブランチで作成されたすべてのコミットをコピーするマージの代わりに、feature_1ブランチがマージされたことを示すマージ コミットのみが作成されましたfeature_1

--no-ff がコミット履歴を保存しなかった理由を誰か説明できますか? feature_1ブランチが に対してリベースされていないためだと言いたいのですが、よくわかりdevelません。

4

1 に答える 1

1

git rebaseデフォルトでコミットの履歴を保持する とは対照的に、git merge --no-ffは設計上1 つのコミットを生成します。
したがって、とマージfeature_1した後に表示さdevelれるの--no-ffは正常です。

--no-ff

マージが早送りとして解決される場合でも、マージ コミットを作成します。

于 2012-10-25T10:18:22.147 に答える