
Git初心者です。
こちら(http://qiita.com/yuba/items/3670235cf87be335fb39)のサイトと(たぶん)同じ質問なのですが、
例えば、Server側とClient側の2つのアプリで構成される製品のソース管理をしたいとします。
もちろんServerとClientアプリは組み合わせて使うのですが、Server/Clientそれぞれについてメンテナンスをして、個別にバージョン付けをし、個別にリリースするものとします。
ここまでなら、Server/Clientアプリのそれぞれについて、個別のGitリポジトリを作って、個別にコミットやタグ付けをすればよいと思うのですが、
Server/Client間のプロトコル変更などの理由で、あるServerバージョンとClientバージョンで通信互換性が無くなるような場合を想定して、そのようなServer/Client間の関係性もGit上でうまく管理して、Gitコマンド一発で互換性のあるServer/Clientバージョンを正しくチェックアウトできるような方法はないでしょうか?
私が思いつくのは、Server/Clientそれぞれについて同じ名前のタグをつけて、必要があったら、それぞれについてそのタグ名でcheckoutする方法くらいです。これだとgitコマンド2発で済みますが、ソースツリーの種類(製品群のなかのアプリの数)が5個/10個と増えてきたらちょっと面倒ですし、人的ミスも起こり得そうです。
別の想定要求としては、すべてのアプリについて、ある日時(2015年7月1日とか)時点での状態を基にしてブランチを切って、派生バージョンを作りまとめてコミットする、ということも考えられます。
こういうこともまとめて実現できるgit上の管理手法があれば、教えていただきたいです。
ポイントは、Server/Client間の関連性も含めて何らかの方法で履歴管理しつつ、個別のアプリは個別にバージョンタグをつけたり、ブランチしたいということです。
ちなみにsubversionを使ってきましたが、こちらではソースツリー上の特定のサブディレクトリについてブランチやタグ付けができたので、そういう対応をしていました。おかげでリポジトリがグチャグチャですが・・・。
ご意見よろしくお願いします。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/08/07 05:32