12

私はgitの使用に比較的慣れていません。

最近、マスターから+-10個の機能ブランチを分岐しました。それらをA、B、Cなどと呼びましょう。

テストのためにこれらをすべてマージしたいと思います。新しいブランチを作成し、機能をマージしても問題ありませんか?

例えば

[master] git checkout -b integration

[integration] git merge A

[integration] git merge B

[integration] etc

すべての機能がテストおよび承認されたら、integrationマスターにマージして、機能のブランチ履歴をマスターログに保持しても安全ですか?

例えば

[integration] git checkout master
[master] git merge integration
[master] git branch -d integration

ありがとう

4

2 に答える 2

10

簡単な答え:はい。

長い答え:はい。その間にマスターブランチに変更が加えられないと仮定すると、マスターへのマージは「早送り」マージになるため、その後[master] git merge integration、マスターブランチはマージ前の統合ブランチのようになります。

「ブランチ履歴」がマスターブランチに表示されます。私見では、あなたの履歴を「コード履歴」ではなく「ブランチ履歴」と考えない方がよいでしょう。

変更がマージから発生したという事実を記録するgit merge --no-ff場合は、早送りコミット(可能な場合は履歴を線形に保つ)が機能する場合でも、を使用してマージコミットの作成を強制します。

共有機能ブランチの正しいGitワークフローも参照してください。

于 2013-02-25T14:07:53.653 に答える
3

もちろん、それで結構です。

デフォルトでは(マージコミットをスカッシュしない限り)、一時的なブランチがなくなった後でも、各機能の完全な履歴とそれらの統合の履歴が保持されます。

于 2013-02-25T14:05:56.520 に答える