最近、新しいライブラリの開発を開始し、リビジョン管理にGitを使用しています。非常に人気のあるブログ投稿「成功したGit分岐モデル」に従って分岐を管理することにしました。そろそろ最初のリリースを作成するときです。以下で説明するように、特定のファイルセットの管理についてアドバイスをお願いします。
開発ブランチと機能ブランチでは、コンパイルに使用されるmakefileやdoxygenがドキュメントを生成するために使用するreadme.mdファイルなど、すべての「サポートファイル」が必要です。(これらはほんの数例であることに注意してください。私にはもっと多くの「サポートファイル」があります。)
ブログ投稿には、マスターブランチへのコミットは定義上リリースであるとも書かれています。リリースにすべての「バイナリファイル」(たとえば、コンパイルの結果のオブジェクトファイルとドキュメントを含むhtmlファイルを含む)を含めたいと思います。これらのファイルはマスターブランチにコミットする必要があります。これにより、顧客はタグを使用してリポジトリからクローンを作成し、必要なリリースを取得できます。
私はリリースに「サポートファイル」を含めたくない(顧客が望まない、または使用できないファイルのヒープを顧客に提供したくないため)。同様に、開発ブランチと機能ブランチで「バイナリファイル」をバージョン管理しないようにします。したがって、1セットのファイルを開発用にコミットし、別のセットのファイルをマスター用にコミットしたいと思います。(もちろん、両方のブランチに「共通」のファイルのセットもあります。)ただし、今説明したように、マスターと開発ブランチの同期を維持することに懐疑的です。
私の提案したモデルは良い音ですか?もしそうなら、開発とマスターにコミットされたさまざまなファイルを持つことにどのように対処する必要がありますか?この状況を処理するためのより良い方法はありますか?
上記のブログページのコメントを1つずつ確認し、インターネットを検索し、StackOverflowでも検索しました。検索結果から、いくつかの異なるファイルを含むこの投稿GITリポジトリは、私の質問に近い唯一のリポジトリのようです。これらのどちらも私が解決策を理解するのに役立ちませんでした。