我们已经编写了一个angularjs网站/应用程序 - 针对移动设备进行了优化 并使用cordova制作基于html5的移动应用程序。
代码(html,css,js)对于web应用程序和cordova app都是相同的 但是会有一些不同的文件。
我们如何设置我们的git repo以共享(仅)web-app repos和cordova-app repos之间的公共文件?
显然,任何.gitignore
文件都会被跟踪,并且对所有回购都是通用的。我们可以将我们不想要的所有文件添加到cordova仓库中.gitignore
,但这会降低3个以上网络应用回购的可用性。
我们尝试过:
在该repo上使用.git/info/excludes
而不是.gitignore
文件的cordova应用程序的项目的本地回购 - 但这只解决了推送的问题来自那个回购,不是从原产地拉(这将导致未跟踪文件的错误)
设置一个不同的分支 - 并使用git flow style方法进行合并的中间分支 - 但是(显然)not possible具有特定于分支的.git/info/excludes
- 所以每次合并都会覆盖所有内容
答案 0 :(得分:3)
我需要有关该项目的更多信息,因为它可能取决于多种因素:目标,时间,预算等......但在我看来,差异远远超过"某些文件和#34 ;在网络和移动项目之间。 例如:
为此,我将创建三个单独的存储库: AngularJS Web project
和 Ionic Mobile project
。第三个包含 AngularJS module
的仓库将作为git submodule导入。第三个模块可以作为核心模块,具有将在两个应用程序之间共享的所有功能(服务,指令,过滤器等)。