2014-01-20 29 views
3

當我們使用phonegap 3.2開發新項目時,我們在版本控制方面遇到了很多問題。我想問問你什麼是有版本的數據的最佳方式,符合下列要求:帶有手機版的不同平臺的版本控制

  • 所有開發人員都必須改變www文件夾的根目錄中的項目
  • 一些開發商也需要改變Java文件的文件夾platforms/android/src
  • 一些開發商也需要改變目標C代碼

如果有3個不同的存儲庫位置,一個帶有www,併爲每個平臺?或者應該只有一個存儲庫位置,每個開發人員檢查他需要什麼?或者每個人都應該擁有整個項目的所有平臺文件?

我們遇到的問題主要是當通過cordova構建平臺代碼並致力於afterwood時。有時候在你檢查完在另一臺計算機上正常運行的整個項目之後,它不會再建立。

任何提示讚賞

回答

4

目前科爾多瓦支持構建他們的應用程序的兩種官方途徑。 1.基於CLI的,你在哪裏工作完全跨平臺並且只能存儲www合併文件夾。開發者可以假設你可以使用科爾多瓦CLI在新機器上設置你的環境

cordova platform add android 
cordova platform add ios 
cordova plugin add org.apache.cordova.device 

該工作流使您受益於WWW文件夾中有共同的代碼庫中,你必須爲你的CSS kepp特定平臺覆蓋,JS或HTML文件在合併/ android合併/ ios子文件夾,但不能以這種方式修改平臺特定的代碼。

  1. 平臺SDK開發工作流程。在使用平臺的標準SDK工具創建應用程序的地方,然後添加CordovaLib作爲依賴項並根據需要嵌入WebView。然後你使用Eclipse/XCode進行進一步的開發。如果您以這種方式安裝了多個項目設置,則必須手動確保兩個項目中的www文件夾保持同步。

該工作流使您受益不必使用的所有平臺功能的能力,但是你必須手動同步的WWW文件夾的內容,並與特定於平臺的CSS/JS/HTML不知何故工作 注:下支持我的意思是,這是兩個工作流程,讓開發人員更多關注。

現在你的問題 - 我建議你有以下的工作流程,這是基於CLI的工作流程的稍微修改版本。你必須存儲你www,合併文件夾和平臺只有部分。 插件文件夾不存儲。由於平臺子文件夾被科爾多瓦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繁重工作的瀏覽器做快速測試。如果你讓你變成科爾多瓦代碼庫最小值和使用插件,你需要whenether可能你甚至可以更新平臺,科爾多瓦的新版本時,他們將被釋放到擴展平臺。

希望這你就可以選擇方法,將工作最適合你。