2016-07-26 5 views
1

コード管理に関するアドバイスをお願いしたいと思います。私はコアコードを持つプロジェクトを持っています。コードは誰もが同じように動作します。すべてのクライアントは、いくつかの画像が置き換えられ、コードが異なる(APIのURL、サーバーのアドレス、更新のアドレスなど)独自のバージョンのコードを取得します。Gitコアコード管理

私はgitブランチでこれを試してきましたが、コアコードで何かを変更するとすぐに、この変更ですべてのgitブランチを更新しなければなりません。

もっと簡単で洗練された方法がありますか?またはこれを行うにgitに組み込まれて何か?

私はGoogleで何をしたいと考えているかわからないので、これをスタックで尋ねています。

+0

これらの個人用ファイルをGitリポジトリから除外し、 '.gitignore'ファイルに追加することができます。誰かがこれらの非共有ファイルをリポジトリと同期させる必要がある理由はありますか? –

+0

あります。これはアプリです。新しいアプリを開発することができない場合に備えて、他の人も同様にビルドする必要があります。 – Roboroads

+0

ファイルがリポジトリの一部であるか、そうでないか、または存在しますが、何らかの理由で無視されます。いずれにしても、ファイルの一部を同期させることはできません。他の部分は同期されません。一般的に、Gitを使ってすべての機能を提供します。 –

答えて

1

コードと構成を混在させていますが、わかりやすいものではありません。

最初に、2つのコードを完全に分離してください(実際のソースコード内にコード化されたIPアドレスはありません)。設定ファイルへのオプションを削除し、そこから値を取得するようにコードを変更します。

あなたはいくつのクライアントを持っているかによって、設定ファイルがたくさんあるディレクトリを持つことができます(前述のイメージのような追加ファイルとともに、必要に応じてサブディレクトリに構造化されています)。ビルド時には、そのうちの1つを選択するだけです。もちろん、ビルドプロセスは他のクライアントからの設定ファイルを展開しません。

ファイルがきれいに分離されている限り、すべてをメインブランチにまとめておくことができます。私はあなたのクライアントにあなたのリポジトリを提供しないと仮定します。だから、ここにはセキュリティの側面はありません。

+0

あなたは私に考え始めました。変更が必要な変数は、リポジトリの設定ファイルにあります。私は、顧客の設定ファイルをプロジェクトにコピーしてビルドするバッチスクリプトを試してみることができます。 – Roboroads

関連する問題