目標: 
      
        
        
        
      
      -新しいプロジェクト機能の継続的な実装の組織 
      
        
        
        
      
      -プロジェクトをサポートする過程でバグを修正するための関連システム 
      
        
        
        
      
      -プロジェクト全体の品質の改善 
      
        
        
        
      
      -プロジェクトの個々の部分のアトミック開発(モジュール/機能) 
      
        
        
        
      
    
      
        
        
        
      
     上記の目標を達成するには、次のブランチ構造を編成する必要があります。 
      
        
        
        
      
     解放する 
      
        
        
        
      
     ホットフィックス(オプション) 
      
        
        
        
      
     検査 
      
        
        
        
      
     修正(オプション) 
      
        
        
        
      
     デフォルト 
      
        
        
        
      
     開発者ブランチ(条件名) 
      
        
        
        
      
    
      
        
        
        
      
      1.リリース 
      
        
        
        
      
     このブランチには、プロジェクトの現在の作業コピーが含まれ、そこからプロジェクトが運用サーバーに展開されます。 
      
        
        
        
      
    
      
        
        
        
      
      2.修正プログラム 
      
        
        
        
      
     プロジェクトが実稼働サーバーに展開された後、予期しないバグが表示される可能性があることは秘密ではありません。 
      
        
        
        
      
     ほとんどの場合、これらは小さな欠陥です。バグが本当に小さい場合は、直接編集が許可されます 
      
        
        
        
      
     リリースブランチでは、編集が簡単でない場合、これを行う必要があります: 
      
        
        
        
      
      リリースブランチからブランチを作成します(hotfixes_はブランチ名のプレフィックスとして存在する必要があります。たとえば、hotfixes_calls) 
      
        
        
        
      
      bバグを修正します。 
      
        
        
        
      
      c Releaseブランチに切り替えます 
      
        
        
        
      
      dリリースブランチに入り、バグの修正を加えたブランチからのすべての編集。 
      
        
        
        
      
      eテスト(可能な場合) 
      
        
        
        
      
      fリリースブランチから本番サーバーを更新します 
      
        
        
        
      
      gタグバージョンの値を1増やします(たとえば、1.0.0でしたが、1.0.1になりました)。 
      
        
        
        
      
    
      
        
        
        
      
      3テスト 
      
        
        
        
      
     このブランチには、プロジェクトの次のバージョンに含まれるべき新しい機能が含まれています。 
      
        
        
        
      
     このブランチの下には、軍隊にできるだけ近い独立した環境が必要です。 
      
        
        
        
      
     このブランチにあるコードは積極的にテストされています。 
      
        
        
        
      
     このブランチのコードでバグを特定する場合、バグレポートを完全に削除するまで修正を行います。 
      
        
        
        
      
    
      
        
        
        
      
     テストの最後に、バグを修正して、次のものを作成します。 
      
        
        
        
      
      Releaseブランチへの切り替え 
      
        
        
        
      
      b Releaseブランチに入り、Testingブランチからのすべての編集 
      
        
        
        
      
      cテスト(可能な場合) 
      
        
        
        
      
      dリリースブランチから本番サーバーを更新します 
      
        
        
        
      
    
      
        
        
        
      
      4修正 
      
        
        
        
      
     作業プロセスは、セクション2で説明したプロセスに似ています(使用例は「作業プロセス」セクションで説明します) 
      
        
        
        
      
    
      
        
        
        
      
      5デフォルト 
      
        
        
        
      
     このブランチには、テスト段階に入る準備ができているプロジェクトの機能が含まれています。 ブランチは 
      
        
        
        
      
     開発者がプロジェクトに従って機能全体をテストできるようにします(複数の開発者のモジュールの相互作用) 
      
        
        
        
      
    
      
        
        
        
      
      6開発者ブランチ 
      
        
        
        
      
     実際、これはブランチではなく、新しい機能であるすべてのブランチの共通名です。 
      
        
        
        
      
    
      
        
        
        
      
      作業プロセス: 
      
        
        
        
      
     一連の新機能の準備ができたら(そして、少なくとも各プログラマーの機能について最小限のテストを行ったら)、 
      
        
        
        
      
     マネージャーは新機能の導入に青信号を発し、機能はデフォルトのブランチにマージされました 
      
        
        
        
      
      (プログラマーは、他のモジュールで機能がどのように機能するかを監視します)、すべてがうまくいけば、 
      
        
        
        
      
     次に、デフォルトブランチの機能をテストブランチにマージします。 この時点から、現在のリリースに新機能が登場することは望ましくありません。 
      
        
        
        
      
     テストブランチにあるコードがテストされ、バグ修正 
      
        
        
        
      
      (バグの修正は、修正プログラムの場合と同じ順序で発生しますが、重大なバグを修正する場合のみです 
      
        
        
        
      
     ブランチの命名は、fixes_のみに適用されます(例:fix_calls) 
      
        
        
        
      
     メインQAの後、コードが運用サーバーで動作する準備ができていることを確認し、テストからの変更をリリースにマージします。 
      
        
        
        
      
     実稼働に入った現在のバージョンにタグを付けます。  (たとえば:1.0.640は1.1.0になりました)