web-dev-qa-db-ja.com

Gitフロー-別の機能ブランチから機能ブランチを作成

私はしばらくgit flowを使用しています。特定のユースケースについて知りたいです。

私のプロジェクトの1つについて、新しいWebサイト機能のチケットがあります。このチケットは多くのサブタスクに依存しています。メインチケットの機能ブランチを作成し、サブタスクごとに親機能ブランチから機能ブランチを作成します。

チケットPROJ-500があり、それに機能ブランチを作成するとします。

git flow feature start PROJ-500

それから、チケット全体をdevelopに統合する前に、PROJ-501からPROJ-515PROJ-500に統合します。私のようなことをする方法はありますか

git flow feature start PROJ-511 -b PROJ-500

その後、これらのサブタスクが時間外に完了し、機能が完了すると、ブランチはPROJ-500にマージされます。

git flow feature finish PROJ-511

上記のコマンドは、PROJ-511PROJ-500にマージします

そして、すべてのサブタスクが完了すると、PROJ-500は終了し、developにマージされます。

このようにして、新しいWebサイト機能は、個別ではなく単一のユニットとして開発に統合されます。

78
pymarco

を介してサブ機能ブランチを作成できます

git flow feature start PROJ-511 feature/PROJ-500

ただし、GitFlowツールを使用してブランチをメイン機能ブランチにマージすることはできません。

git flow feature finish PROJ-511

機能はdevelopにマージされます。エルゴサブ機能はサポートされていません、手動で行う必要があります。

代替案:要件は新しいものではありません。 未解決の問題forkプロジェクト があり、develop以外のブランチへの仕上げ機能をサポートすると主張しています。また、その機能の実装で プルリクエスト を見つけました。あなたはその修正を試して、あなたがそれに満足しているかどうかを見たいかもしれません。

102
kriegaex

私が理解したように、gitflowは完全に放棄されています。

gitflow-avhはそれを置き換え、この機能を提供します( https://github.com/petervanderdoes/gitflow#creating-featurereleasehotfixsupport-branchesを参照) )。

私はそれを試してみて、それは私にうまく機能します。

git flow feature start PROJ-511 feature/PROJ-500
git flow feature finish PROJ-511

PROJ-511feature/PROJ-500に統合されました。

24
Tony Chemit

すでに述べたように、ベースブランチを使用して新しい機能を開始できます。

git flow feature start PROJ-511 feature/PROJ-500

そして、サブ機能を完了するために、一時的にgit flow構成を変更して、developの代わりに機能ブランチを使用することができます。

git flow config set develop feature/PROJ-500 && git flow feature finish PROJ-511

このようにして、gitフローはすべてのコマンドと健全性チェックを実行します。最後に、設定を復元するには、次を実行します。

git flow config set develop develop 
9
César

Gitフローにはこの方法はないと思いますが、gitだけでかなり簡単です。

git checkout PROJ-500
git checkout -b PROJ-511
...do your PROJ-511 work...
git checkout PROJ-500
git merge PROJ-511
git branch -d PROJ-511
8
Derek S