

現在、ionicで、ネイティブアプリと、WEBアプリを開発しております。  
ネイティブアプリと、WEBアプリは、ほぼ同じソースコードを使用しております。  
しかし、ファイルの一部分だけ、それぞれ違う処理を書いたりしています。

基本的にソースコードは共有しているが、少しだけ差異が出てくる、ネイティブアプリのコードとWEBアプリのコードを効率よく管理するにはどういう構成がいいでしょうか？

別々にクローンした場合、片方の変更をもう片方にも手修正しないといけないので面倒です。

ネイティブアプリのブランチと、WEBアプリのブランチを作って管理するのかいいでしょうか？  
共有する修正部分は、cherry-pickするみたいな感じで。


CC BY-SA 3.0
2018-04-29T04:04:24.407
43647
2018-05-01T05:00:45.030
28001
question
git
ネイティブアプリと、WEBアプリをgitで効率よく管理する方法


理想は、ひとつのブランチでどうにかできるようにアプリケーションを構成することだとは思います。
(環境ごとの差異をたとえば設定で切り替えられるように、アプリケーションを構成する)

ただ、どうしても微妙に違う2つのブランチを管理したくなるときはあるかもしれません。自分でしたら、以下のようにすると思います。

  * 共通, native, web のブランチを用意する
  * 基本的に共通にコミットしていく
  * native/web それぞれ固有のコードは、それぞれのブランチのみにコミットしていく
  * 定期的に native/web ブランチで共通ブランチをマージする

こうすることで、 git がグラフ的なコミット構造を持っている利点をフルに活かせると思います。


CC BY-SA 3.0
2018-05-01T05:00:45.030
43687
2018-05-01T05:00:45.030
754
43647
answer