当涉及到我们的新项目时,我们在版本处理方面遇到了很多问题,我们在这里使用phonegap 3.2.我想问一下,对数据进行版本控制的最佳方法是什么,它具有以下要求:
>所有开发人员都必须更改项目根目录中的www文件夹
>一些开发人员还需要更改platform / android / src文件夹中的Java文件
>一些开发人员还需要更改Objective C代码
是否应该有3个不同的存储库位置,其中一个包含www,每个平台一个?还是应该只有一个存储库位置,每个开发人员都可以检查出他的需求?还是每个人都应该拥有包含所有平台文件的整个项目?
我们遇到的问题主要是在通过cordova构建更改平台代码并提交后遗症时.同样,有时在您签出了在另一台计算机上可以正常运行的整个项目之后,该项目将不再构建.
任何提示表示赞赏
解决方法:
当前,Cordova支持两种构建其应用程序的官方方式.
1.基于CLI,您可以在其中完全跨平台工作,并且只能存储www和merges文件夹.开发人员假设您可以在新计算机上使用Cordova CLI来设置您的环境
cordova platform add android
cordova platform add ios
cordova plugin add org.apache.cordova.device
此工作流程为您带来了在www文件夹中拥有通用代码库的好处,并且您必须为merge / android或merges / ios子文件夹中的CSS,JS或HTML文件保留平台特定的替代,但是您不能以这种方式修改平台特定的代码.
> Platform SDK开发工作流程.在使用用于平台的标准SDK工具创建应用程序的地方,然后将CordovaLib添加为依赖项并根据需要嵌入WebView.然后,您使用Eclipse / XCode进行进一步的开发.如果您以这种方式设置了多个项目,则必须手动确保两个项目中的www文件夹保持同步.
该工作流程使您能够使用所有平台功能,但必须手动同步www文件夹的内容,并以某种方式与平台特定的CSS / JS / HTML结合使用
注意:在支持下,我的意思是,这是两个工作流程,它们会引起开发人员的更多关注.
现在您的问题-我建议您使用以下工作流程,该工作流程是基于CLI的工作流程的略微修改版本.您必须存储www,合并文件夹以及平台的仅一部分.未存储Plugins文件夹.由于平台子文件夹的许多零件内容都是由Cordova CLI生成的,因此您必须弄弄.gitignore文件.
.gitignore的内容
## Eclipse specific stuff.
.metadata/
## Android specific stuff
local.properties
/platforms/android/gen
/platforms/android/bin
/platforms/android/assets/www
/platforms/android/.metadata
/platforms/android/.staging/www
/platforms/android/.settings
platforms/android/CordovaLib/.settings/
/platforms/android/CordovaLib/bin
/platforms/android/CordovaLib/bin/proguard.txt
*.d
*.class
## iOS specific stuff
platforms/ios/.staging/
platforms/ios/platform_www/
platforms/ios/<--projectname-->.xcodeproj/project.xcworkspace
platforms/ios/<--projectname-->.xcodeproj/xcuserdata
platforms/ios/www
## Exclude Plugins
# For iOS you have to exclude only this single folder.
platforms/ios/<--projectname-->/Plugins/
# For Android you have to manually exclude folders for each plugin provider.
# .java files for plugins stored based on plugin id. For example
# to exclude all plugins provided by Cordova add following line.
# Make sure that when you create project you specify project ID
# as com.yourcompany.yourapp that way your code will be in
# platforms/android/src/com/yourcompany/yourapp and separated from
# plugins
platforms/android/src/org/apache/cordova/
# For example to exclude plugins provided by BlackBerry
# add line
# platforms/android/src/come/blackberry/
现在,当您设置新项目时,应该签出源代码并运行以下命令:
# Create local.properties file which is required for build
cordova platform update android
# Or manually create local.properties with content below
# sdk.dir=C:\\adt\\sdk
# Add plugins
cordova plugin add org.apache.cordova.device
cordova plugin add org.apache.cordova.vibration
# ... and other plugins
以这种方式设置项目后,您就可以做到两全其美.您可以使用cordova serve在浏览器中进行快速测试,如果需要,可以使用Android / iOS SDK进行繁重的工作.如果您保留对Cordova代码库的最小更改,并在可能的情况下使用插件扩展平台,以在需要时甚至可以在发行发行时将平台更新为Cordova的较新版本.
希望您能够选择最适合您的方法.