0

そこで、masterから新しいブランチを作成し、最終的に変更をマージして戻しました。一部の変更のみがマージされたように見え、一方向にマージされたように見えました。最終的に、マスターがすべての「実験的」変更を確実に受け取るようにした後、実験的ブランチを削除して新しいブランチを作成しました。したがって、この質問は突然いくつかの質問に変わります。

1)ブランチを一致させて、別々に保つにはどうすればよいですか?

1a)新しいブランチを作成するだけではないというのは悪い習慣ですか?

2)1回のマージ後、ブランチが同じではなかったのはなぜですか?

2a)すべての変更を加えたいものに対してのみマージを呼び出すことになっていますか?

4

1 に答える 1

1

実際には、マージは間違いなく一方向の操作です。あるブランチを別のブランチにマージします。実験をマスターにマージした後の結果の履歴は、次のようになります。

- o - o - o - o - o - X (master)
   \                 /
    o - o - o - o - o (experimental)

したがって、1回のマージ後、masterには実験で行われたすべての変更が含まれますが、それらは明らかに同じではありません。

「一致するが分離する」とはどういう意味か、少し混乱しています。特定の目的(機能、バグ修正など)のためにトピックブランチを作成し、それをそのエンティティが必要なすべての場所にマージするのが一般的な方法です。たとえば、バグ修正は2つの古いメンテナンスリリースと現在のマスターに属する可能性があるため、3つすべてにマージされます。

濱野純雄のブログ(彼は現在gitのメンテナーです)へのこの投稿は、いつマージすべきか、いつマージすべきでないかについて私が見つけた最も良い説明の1つだと思います。それはあなたの哲学的な質問の大部分に答えるはずです。

于 2010-07-26T17:16:20.523 に答える