我们已经编写了一个 angularjs 网站/应用程序 - 针对移动设备进行了优化
并使用 cordova 制作基于 html5 的移动应用程序。
Web 应用程序和 cordova 应用程序的代码(html、css、js)将相同
但会有一些文件会有所不同。
我们如何设置我们的 git 存储库以在 web 应用程序存储库和 cordova 应用程序存储库之间共享(仅)公共(public)文件?
显然,任何 .gitignore
文件都会被跟踪,并且对所有存储库都是通用的。我们可以将 cordova 存储库中不需要的所有文件添加到 .gitignore
,但这会降低 3+ 个网络应用程序存储库对一个 cordova 存储库的可用性。
我们已经尝试过:
在该 repo 上使用
.git/info/excludes
而不是.gitignore
文件在 cordova 应用程序的项目本地 repo - 但这仅解决了从该 repo 中推送的问题,而不是从源中 pull 的问题(这将导致未跟踪文件出错)设置不同的分支 - 并使用 git flow style merge 中间分支的方法 - 但它(显然)not possible有一个特定于分支的
.git/info/excludes
- 所以每次 merge 时所有内容都会被覆盖
最佳答案
我需要有关该项目的更多信息,因为它可能取决于多种因素:目标、时间、预算等……但在我看来,Web 和 Web 之间的差异不仅仅是“某些文件”移动项目。 例如:
- 移动混合应用需要一些插件来执行一些特定的移动任务并像移动应用一样运行
- 优化良好的网络应用对于移动应用来说可能太重了
- 网络应用也需要 IE 的支持,但移动应用则不需要
- 良好的响应式 Web 应用程序界面不是移动界面,反之亦然
为此,我将创建三个独立的存储库:一个 AngularJS Web 项目
和一个 Ionic Mobile 项目
。第三个带有 AngularJS 模块
的 repo 将作为 git submodule 导入.这第三个模块可以作为一个核心模块,具有将在两个应用程序之间共享的所有功能(服务、指令、过滤器等)。
关于angularjs - Web 应用程序和 Cordova 应用程序之间的代码共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29585547/