3

GitHub で公開したいオープン ソース プロジェクトを計画しています。相互に拡張する複数のプロジェクトを作成したいと考えています。しかし、親プロジェクトとマージする必要がある共通の基本クラスを変更するオプションが必要ですが、共通ファイルのない拡張子の共有ファイルのみが独立している必要があります。

これが私の 3 つのサンプル プロジェクトです。

プロジェクト A:

ObservableArray という便利なクラスを実装したいと考えています。そのクラスは、インターフェイスでそのアイテムを監視し、これらの変更をレジスターリスナーに伝達する List を拡張します。これは、プロジェクト B のような複数のプロジェクトに役立つはずです。

プロジェクト B:

単純なクラスである行のリストへの簡単なアクセスを可能にする SQlite データベース ワーパーを実装したいと考えています。プロジェクト A の助けを借りて、SQLite データベースと簡単に同期できるデータ モデルの変更を簡単に追跡できます。

プロジェクト C:

このプロジェクトは、データベース ワーパーを取得し、他のユース ケース用に Android ContentProvider に配置する必要があります。

ご覧のとおり、3 つのプロジェクトはすべてお互いの上に構築されていますが、プロジェクト A またはプロジェクト B ですが、これまでのところユーザーは ContentProviders のサポートを必要としない場合があります。これを独立したプロジェクトにしたいと考えています。プロジェクト Cのユーザーが 3 つの独立したプロジェクトすべてを更新できるようにするのは、オーバーヘッドが大きすぎると思います。したがって、私の考えは、あるプロジェクトを別のプロジェクトにフォークして、各プロジェクトを更新できるようにするか、GitHub でこれを呼び出す方法でした。

私の質問は次のとおりです。

  1. プロジェクトをフォークして、基本クラスを双方向で更新できるようにすることはできますか?
  2. プロジェクト A のクラスを更新する必要があるとしましょう。他の両方のプロジェクトを更新するには、どのような手順を実行する必要がありますか?
  3. プロジェクト A で誤ってプロジェクト C のファイルをチェックインしてしまうのを防ぐにはどうすればよいですか? 別の名前空間を使用するので、無視リストを使用できます。これで問題は解決しますか?

私はそれが静かな基本的な質問であることを知っています.gitの基本とGitHubのフォークグラフを理解しようとしましたが、これは可能だと思いますが、これは複数のアカウントを持っている場合にのみ機能するようです. 教えてください!

4

1 に答える 1