Cordova 5.0.0:我应该将哪些文件提交给git?

时间:2015-04-30 14:48:49

标签: cordova gitignore

我使用Cordova 5.0.0,我有以下项目结构:

MyProject
    - hooks
    - platforms
    - plugins
    - resources
    - www
    - config.xml

我现在的问题是:我可以省略哪些文件夹?我问它是因为我在三个不同的平台上工作。我在Linux上开发用于Android,Windows用于Windows手机和Mac用于ios。如果我提交整个项目,我总是会收到不支持平台的警告和错误。

我想要的是一个简约的git存储库。

例如,一个问题是插件。当我从存储库中删除插件文件夹时,我必须手动将它们添加到我的每个开发平台上。

另一个问题是资源文件夹。我使用离子自动生成图标和闪屏。当我现在尝试在ios上构建项目时,它正在抱怨android的图像。

那么我需要什么,我可以省略什么?

8 个答案:

答案 0 :(得分:111)

只要您没有在其中添加任何自定义代码,您就可以忽略平台和插件目录。

添加插件和平台时,请在命令中添加--save。 e.g。

cordova platform add ios@3.8.0 --save

cordova plugin add cordova-plugin-device --save

这将保存您用于config.xml文件的插件和平台的记录。当您运行cordova preparecordova build时,如果尚未安装config.xml中列出的所有插件和平台,则会安装。

您还可以在准备和构建中指定平台。因此,如果您使用的是Mac,则可以查看git存储库并运行cordova prepare ios以仅安装ios平台和插件。

答案 1 :(得分:39)

这取决于平台。

您可以使用.gitignore的这个示例,并根据您的需要进行自定义。

# Mac
.DS_Store

# iOS
platforms/ios/build/
platforms/ios/www/
platforms/ios/cordova/console.log
*.xcuserdatad

# android
platforms/android/assets/www
platforms/android/bin
platforms/android/gen
platforms/android/local.properties
platforms/android/ant-build
platforms/android/ant-gen
platforms/android/CordovaLib/ant-build
platforms/android/CordovaLib/ant-gen
platforms/android/CordovaLib/bin
platforms/android/CordovaLib/gen
platforms/android/CordovaLib/local.properties

# wp8
platforms/wp8/bin
platforms/wp8/obj
platforms/wp8/www
platforms/wp8/.staging
platforms/wp8/*.suo
platforms/wp8/*.csproj.user

# res
resources/signing

答案 2 :(得分:17)

您可以使用以下命令保存平台和插件。

平台节省质量

$ cordova platform save

插件质量保存

$ cordova plugin save

请注意,上述命令中没有 -

另外一件事,在另一台机器上获取repo之后,你只需运行以下命令来自动生成和获取插件和平台

$ cordova prepare

有关更多参考,请访问以下链接。 https://cordova.apache.org/docs/en/latest/platform_plugin_versioning_ref/#mass-saving-platforms-on-an-existing-project

Cordova提示:在获得正确的解决方案之前,请务必先阅读官方文档。

答案 3 :(得分:15)

我不知道答案,但我发现了一些可能有用的东西。 pull request approvedfile

这里是https://www.varvet.com/blog/android-qr-code-reader-made-easy/

# Mac
.DS_Store

# Node
npm-debug.log
/node_modules

# Cordova
/platforms
/plugins

# res
resources/signing

答案 4 :(得分:3)

我按照以下步骤操作:

  • 创建cordova项目

  • 添加平台

  • 添加插件

在构建项目之前,我提交并推送生成的文件。在我构建项目并检查生成的新文件之后。我把这些添加到了.gitignore:

/platforms/android/gradlew.bat

/平台/机器人/构建

/平台/机器人/ gradle这个

/平台/机器人/库

/platforms/android/gradlew.bat

/平台/机器人/ CordovaLib /构建

/platforms/android/.gradle

答案 5 :(得分:2)

大多数其他答案是2/3岁。

2019更新:

# remove extension less files
*
!/**/
!*.*

# intermediate files
node_modules/
build/
obj/
Debug/
bin/
package-lock.json
.vs
.gradle
.idea
*.exe

# res
**/resources/signing

# project specific
**/dist/
**/all.min.js

# ========== Cordova - platforms
# android
# platforms/android/app/src/main/assets
# platforms/android/app/src/main/AndroidManifest.xml
# platforms/android/app/src/main/res/drawable-*
# platforms/android/app/src/main/res/mipmap-*
# platforms/android/app/src/main/res/xml/config.xml
# browser
# platforms/browser/app/src/main/assets
# platforms/browser/config.xml
# platforms/browser/www
#
# ========== Cordova - plugins - remove all except json & xml
# plugins/**/.DS_Store
# plugins/**/*.cs
# plugins/**/*.h
# plugins/**/*.java
# plugins/**/*.js
# plugins/**/*.m
# plugins/**/*.map
# plugins/**/*.md
# plugins/**/*.modulemap
# plugins/**/*.ts
# plugins/**/LICENSE
# plugins/**/NOTICE
# plugins/**/*.gradle
# plugins/**/tests/

如您所见,我注释了大多数行(所有行均以#开头)。 这是因为我遇到了有关插件版本更改的问题,并决定了解插件更新的情况。 基本上所有平台和插件文件都包含在提交中,现在我的生活很平静。

2019年:
我用this说过。

在开发和发布该应用程序之后,它变为:
(如果您偏离下面,请在下面评论,我们可以互相学习)

# remove extension less files
*
!/**/
!*.*

# intermediate files
node_modules/
build/
obj/
Debug/
bin/
package-lock.json
.vs
.gradle
.idea
*.exe

# Cordova - platforms
platforms

# Cordova - plugins - remove all except json & xml
plugins/**/.DS_Store
plugins/**/*.cs
plugins/**/*.h
plugins/**/*.java
plugins/**/*.js
plugins/**/*.m
plugins/**/*.map
plugins/**/*.md
plugins/**/*.modulemap
plugins/**/*.ts
plugins/**/LICENSE
plugins/**/NOTICE
plugins/**/*.gradle
plugins/**/tests/

# res
**/resources/signing

# project specific
**/dist/
**/all.min.js

答案 6 :(得分:0)

我添加到Niko列表中:

# IntelliJ IDEA files
*.iml
.idea

#windows
Thumbs.db
Desktop.ini

*.sw[mnpcod]
*.log
*.tmp
*.tmp.*
log.txt

答案 7 :(得分:0)

2021 年更新 - 使用 Android 平台:

# Node Package Manager
node_modules/
npm-debug.log

# Gradle
.gradle

# IntelliJ IDEA
**/.idea/**/*
*.iml
coverage/
.nyc_output/

# Other generated files & folders
bin/*
build
gen

# Cordova Plugins: remove all except json & xml
plugins/*
!plugins/**/*.json
!plugins/**/*.xml

# Cordova Platform: Android
platforms/android/assets/www
platforms/android/bin
platforms/android/gen
platforms/android/local.properties
platforms/android/ant-build
platforms/android/ant-gen
platforms/android/CordovaLib
platforms/android/cordova/
platforms/android/app/gradle
platforms/android/app/src/main/java
platforms/android/app/release
platforms/android/app/gradlew
platforms/android/**/*.bat
platforms/android/app/src/main/assets/www
platforms/android/platform_www

# Cordova www folder
# Files will be built into this folder
www/**/*
!www/.gitkeep

在我的设置中,我有一个构建脚本,它捆绑并缩小了 www 文件夹的内容,所以我也忽略了它。