我正在计划一个我想在 GitHub 上发布的开源项目。我想创建几个相互扩展的项目。但我想要更改一个公共基类的选项,该基类应该与其父项目合并,但只有共享文件,没有公共文件的扩展应该是独立的。
这是我的三个示例项目:
项目一:
我想实现一个名为 ObservableArray 的有用类。该类将扩展一个 List ,它通过接口观察其项目并将这些更改传播到注册侦听器。这对于像我的项目 B 这样的多个项目应该很有用。
项目B:
我想实现一个 SQlite 数据库扭曲器,它允许简单地访问只是普通类的行列表。在项目 A 的帮助下,可以很容易地跟踪数据模型中的变化,可以简单地与 SQLite 数据库同步。
项目 C:
该项目应该使用数据库扭曲器并将其放入 Android ContentProvider 以用于其他一些用例。
正如您所看到的,所有三个项目都建立在彼此之上,但项目 A 或项目 B 但用户可能不需要 ContentProviders 的支持,到目前为止我想将其用于独立项目。我认为让 C 项目的用户更新所有三个独立项目的开销太大。所以我的想法是将一个项目分叉到另一个项目,以便每个项目都可以更新或如何在 GitHub 中调用它。
我的问题是:
- 是否可以分叉项目以便可以双向更新基类?
- 假设我需要更新一类项目 A 我需要执行哪些步骤来更新其他两个项目?
- 如何防止我在项目 A 中意外签入项目 C 的文件?我会使用不同的命名空间,这样我就可以使用忽略列表。这会解决我的问题吗?
我知道这是一些安静的基本问题,我试图了解 git 的基础知识,来自 GitHub 的 fork 图让我认为这应该是可能的,但似乎这只有在你有多个帐户时才有效。请赐教!