1

機能に取り組んでいる複数の開発者をサポートするために git をセットアップする方法、および dev、qa、uat などのさまざまな環境にプッシュする方法についてのアドバイスを探しています。

私は次のようなことを考えていました:

dev_branch
- new features get a feature branch i.e. dev_branch_feature_x
- once feature is completed, it gets merged into the dev_branch
- dev_branch then merges into main_branch

main_branch
- code must be merged into main to push to UAT
- once uat is signed off, it gets pushed to production

1 つの問題は、feature_branch があるということは、feature_branch ごとに個別の dev 環境と qa 環境が必要であることを意味しますか?

2 人の開発者が機能に取り組んでいる場合、お互いに上書きするため、変更を QA 環境に直接プッシュすることはできません。そして、競合が発生する可能性があるため、両方の変更を同じブランチにマージしてからプッシュできるかどうかはわかりません。

上記の分岐モデルは実行可能ですか、それとも何か他の提案はありますか?

4

1 に答える 1

1

git で使用する非常に一般的なワークフローは、http://nvie.com/posts/a-successful-git-branching-model/で説明されています。

基本的に、最も成功しているのは、実行時間の長いブランチ (必要に応じてトランクにすることも、別のブランチにすることもできます) にある開発環境を持つことです。

課題ブランチと開発ブランチは、これから分岐され、開発およびテストされ、作成者が安定していると判断したときにマージされます。次に、次のテスト レベルに進むために開発で必要なテストに合格したら、タグを付けてビルドし、テスト環境にデプロイします。

リリースが近づくと、実行中の開発ブランチからリリース ブランチに分岐し、リリースの安定性を向上させるためだけに手を加えます。これにより行き止まりのブランチになりますが、後でホットフィックスを適用するのに最適な場所です。

そして、トランクを本番環境にデプロイされた最新バージョンにしたい場合は、何かがすべてのテストに合格して本番環境にデプロイされるたびに、それをトランクにマージします。これはオプションです。私の意見では、これは不必要なオーバーヘッドと複雑さですが、非常に頻繁に遭遇する管理上の要求です。

于 2012-06-25T22:46:04.410 に答える