@nvieのGit分岐モデルとgitflowについて読んだことがありますが、これは現在取り組んでいるプロジェクト(Webアプリケーション)に使用するのに適したモデルだと思います。
私はプロジェクトのリード開発者であり、ローカル環境(MAMPのような)で開発しています。クライアントに見せるために何かを作ったときはいつでも、自分の仕事をコミットして中央のGitホストにプッシュします。そこから、インターネットに接続されているサーバーに展開します。その後、私のクライアントは変更を見ることができます。
2人目の開発者がプロジェクトの作業を開始しました。彼は一度に1つの機能を開発し、準備ができたら中央のGitホストにプッシュします。展開する前に彼の作品をレビューします。
現在、すべてのコミットはmaster
ブランチで実行され、単一のホスト環境にデプロイされます。将来的には、本番環境(実際に使用するため)、テスト環境(リリース直前にアプリの新しいバージョンをテストするため)、および開発環境(完成した機能またはまだクライアントに進行中です)。master
実稼働環境はからデプロイを取得し、開発環境はからデプロイを取得すると思いますdevelop
。
私が持っている質問は次のとおりです。
私はしばしば同時にいくつかのタスクに取り組んでいます。機能の一部の準備ができたら、その機能の作業を続ける前に、クライアントに見せたいことがあります。
develop
ただし、私の理解では、機能(ブランチ)は、それが終了してリリースがスケジュールされたときにのみマージされます。進行中の(またはまだリリースが予定されていない)機能を(開発環境で)クライアントに表示するにはどうすればよいですか?どのブランチからテスト環境にデプロイする必要がありますか?その瞬間のリリースブランチを手動で選択する必要がありますか、それとも専用のテストブランチがありますか?