3

私はこの記事 (リンク: http://guides.beanstalkapp.com/version-control/branching-best-practices.html ) を読みました。これは、バグ修正と機能要求の展開に関する適切な「ベスト プラクティス」のアドバイスを提供し、傾向がある傾向があります。そこに書かれていることすべてに同意します。しかし、回避できないような大きな問題が 1 つあります。

現在テスト中のファイルを展開せずに、完全にテストされた機能のみを展開するにはどうすればよいですか?

例: バグ #1 は file1.php に影響します。バグ修正はバグ ブランチでコーディングされ、開発者によってローカルでテストされ、開発ブランチにマージされます。dev ブランチは、テスト環境にデプロイされます。

機能 #1 も file1.php に影響します。コーディングされ、マージされ、Testing にデプロイされます。

バグ修正 (および同様の競合が発生する可能性のある他の 100 個の修正) を Staging に展開する必要があります。ドキュメントやトレーニングなどが実施されていないため、新機能をまだ導入したくありません。

バグ修正のみをデプロイするにはどうすればよいですか? すべてではなく、特定のバグ修正と特定の機能要求のみを展開するにはどうすればよいですか?

すべてのファイルの変更を追跡し、それをバグ チケットにリンクし、バグ チケットからファイルのリストをコンパイルし、それらのファイルをそれぞれ手動で選択することを考えました。しかし、それは間違いが起こりやすく、必要以上の作業が必要なようです。

私は何が欠けていますか?展開したいバグ修正と機能セットだけを展開するにはどうすればよいですか?

4

1 に答える 1

2

私が理解しているように、通常の方法は次のとおりです。

  1. デプロイされたすべてのバージョン (たとえば1.1 ) に対してタグ/ブランチ (SVN で同じもの) があります。
  2. あなたが言ったように、重大なバグが発生した場合は、( 1.1 )のブランチでバグを修正します。
  3. このバグは ( 1.1 ) の作成 ( 1.1.1 ) にマージされ、さらにdevにもマージされます。( 1.1.1 ) はTesting NOT Devに進みます。

その間

  1. 機能はDevに移動します。
  2. 機能をリリースしたい場合は、そのためのブランチ (たとえば1.2 ) を作成し、それをTestingに移動してから残りに移動します。

ノート:

  • バグ修正はDevで行うことができ、ブランチにバックポートすることができます。
于 2012-11-30T17:39:37.210 に答える