私はしばらくgit flow
を使用しています。特定のユースケースについて知りたいです。
私のプロジェクトの1つについて、新しいWebサイト機能のチケットがあります。このチケットは多くのサブタスクに依存しています。メインチケットの機能ブランチを作成し、サブタスクごとに親機能ブランチから機能ブランチを作成します。
チケットPROJ-500があり、それに機能ブランチを作成するとします。
git flow feature start PROJ-500
それから、チケット全体をdevelop
に統合する前に、PROJ-501
からPROJ-515
をPROJ-500
に統合します。私のようなことをする方法はありますか
git flow feature start PROJ-511 -b PROJ-500
その後、これらのサブタスクが時間外に完了し、機能が完了すると、ブランチはPROJ-500
にマージされます。
git flow feature finish PROJ-511
上記のコマンドは、PROJ-511
をPROJ-500
にマージします
そして、すべてのサブタスクが完了すると、PROJ-500
は終了し、develop
にマージされます。
このようにして、新しいWebサイト機能は、個別ではなく単一のユニットとして開発に統合されます。
を介してサブ機能ブランチを作成できます
git flow feature start PROJ-511 feature/PROJ-500
ただし、GitFlowツールを使用してブランチをメイン機能ブランチにマージすることはできません。
git flow feature finish PROJ-511
機能はdevelop
にマージされます。エルゴサブ機能はサポートされていません、手動で行う必要があります。
代替案:要件は新しいものではありません。 未解決の問題 と forkプロジェクト があり、develop
以外のブランチへの仕上げ機能をサポートすると主張しています。また、その機能の実装で プルリクエスト を見つけました。あなたはその修正を試して、あなたがそれに満足しているかどうかを見たいかもしれません。
私が理解したように、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-511はfeature/PROJ-500に統合されました。
すでに述べたように、ベースブランチを使用して新しい機能を開始できます。
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
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