アプリのすべてのバリエーションに1つのgitリポジトリを使用するのが、私の保存方法です。たとえば、私のアプリの1つには無料バージョンとプロバージョンがあり、AndroidマーケットとAmazonアプリストアの両方で入手できます。gitには、3つのブランチがあります。
マスターは無料版、プロはAndroidマーケットの有料版、amznはAmazonアプリストアの無料版です。
私はすべての機能変更をマスターで行います。リリースの準備ができたら、無料バージョンをビルドしてテストし、マスターにリリース番号のタグを付けます。次に、proに切り替え、git merge masterを実行して、すべての新しい変更を取り込みます。
プロは有料版なので、マスターから最初に分岐したとき、広告関連のコードをコメントアウトし(数行しかなかったので、リファクタリングは必要ないと思いました)、文字列を変更して「いくつか「一部のアプリ」ではなく「アプリプロ」。
マージ中は、通常、競合は発生せず、元の変更が維持されます。しかし、そうでない場合は、競合を解決してプロブランチを広告なしに戻すのは非常に簡単です。
同様に、amznブランチの場合、私は元々Googleの市場への参照をすべて削除し、リリースする準備ができたらいつでもマスターからマージを実行します。
次に、proとamznの両方について、テストとタグを作成できます。
パッケージ名を一意に保つために(実際に要件かどうかはわかりませんが)、最初にアクティビティを取得して、新しいパッケージ、つまりcom.whatever.free.appname、com.whatever.pro.appnameに移動しました。 。