2016-09-30 6 views
1

私はGitFlowを使用して、ユーザーのストーリーにマップされた機能ブランチを使用しています。基本的に、各フィーチャーブランチはユーザーストーリーを表します。ストーリーが完全に実装されテストされると、それは完了したとみなされ、機能は終了します(開発ブランチに統合されます)。Gitflowをフィーチャーブランチ間の依存関係で使用する方法は?

私の問題は、私の機能がプログレッシブな展開スケジュールを持つことを目的としてEpicに分割されていることです。それぞれの話は機能でなければなりません。ストーリーの大部分は、実際には互いに依存関係がなく、個別に実装できるように設計されています。しかし、1つの注意点は、すべてが共通の話に依存していることです。

現時点では、共通のストーリー(機能)は完了していますが、テスト/ QA部門を通過していないため、まだ開発ブランチに戻すことはできません。しかし、私は叙事詩で別の話に取り掛かりたい。

この時点で「正しい」プロセスとは何ですか?既存のフィーチャブランチのHEADからフィーチャブランチを作成するだけでいいですか?それは典型的なGitFlowプロセスには従わないので、私は他の人たちがこの状況にどのように対処しているのか疑問に思っていました。

答えて

2

はい、既存の機能ブランチの先端から機能ブランチを作成する必要があります。 Git Flowは、ほとんどのプロセスと同様に、実際のルールよりも多くのガイドラインです。

ただし、よりクリーンな履歴が必要な場合は、その履歴も使用できます。依存機能ブランチをdevelopにマージされると、その後、新しい機能ブランチをチェックアウトしてください:

git rebase develop 

をリベース時には、Gitは従属ブランチからコミットがすでにdevelopにマージされていることがわかりますので、それらは機能ブランチではもはや必要ではありません。したがって、フィーチャーブランチには、そのフィーチャーに固有の新しいコミットのみが含まれるようになりました。

あなたはそれをサーバーにプッシュしている場合、あなたは何をするにもあります:

git push --force-with-lease 

今では依存機能がマージされた後に機能ブランチはストレートオフdevelop来たかのようになります。

+1

素晴らしい。私が正しい考え方をしていたことを知りました。どのようにそれを達成するためのループを閉鎖していただきありがとうございます。 –

関連する問題