質問: 現在、ionicで、ネイティブアプリと、WEBアプリを開発しております。 ネイティブアプリと、WEBアプリは、ほぼ同じソースコードを使用しております。 しかし、ファイルの一部分だけ、それぞれ違う処理を書いたりしています。 基本的にソースコードは共有しているが、少しだけ差異が出てくる、ネイティブアプリのコードとWEBアプリのコードを効率よく管理するにはどういう構成がいいでしょうか? 別々にクローンした場合、片方の変更をもう片方にも手修正しないといけないので面倒です。 ネイティブアプリのブランチと、WEBアプリのブランチを作って管理するのかいいでしょうか? 共有する修正部分は、cherry-pickするみたいな感じで。
回答: 理想は、ひとつのブランチでどうにかできるようにアプリケーションを構成することだとは思います。 (環境ごとの差異をたとえば設定で切り替えられるように、アプリケーションを構成する) ただ、どうしても微妙に違う2つのブランチを管理したくなるときはあるかもしれません。自分でしたら、以下のようにすると思います。 * 共通, native, web のブランチを用意する * 基本的に共通にコミットしていく * native/web それぞれ固有のコードは、それぞれのブランチのみにコミットしていく * 定期的に native/web ブランチで共通ブランチをマージする こうすることで、 git がグラフ的なコミット構造を持っている利点をフルに活かせると思います。