Cordova 5.0.0:我应该提交哪些文件 git?
Cordova 5.0.0: Which files should I commit to git?
我使用 Cordova 5.0.0,我有以下项目结构:
MyProject
- hooks
- platforms
- plugins
- resources
- www
- config.xml
我现在的问题是:我可以省略哪些文件夹?我问它是因为我在三个不同的平台上工作。我在 linux 上开发 android,在 windows 上开发 windows phone,在 mac 上开发 ios。如果我提交整个项目,我总是会收到不支持平台的警告和错误。
我想要的是一个简约的 git 存储库。
例如,一个问题是插件。当我从存储库中删除插件文件夹时,我必须手动将它们添加到我的每个开发平台上。
另一个问题是资源文件夹。我使用 ionic 自动生成图标和启动画面。当我现在尝试在 ios 上构建项目时,它抱怨 android 的图像。
那么我需要什么,我可以省略什么?
这取决于平台。
你可以使用.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
您可以忽略 platforms 和 plugins 目录,只要您没有在其中添加任何自定义代码即可。
添加插件和平台时,在命令中添加--save。例如
cordova platform add ios@3.8.0 --save
或
cordova plugin add cordova-plugin-device --save
这会将您使用的插件和平台的记录保存到您的 config.xml 文件中。当您 运行 cordova prepare
或 cordova build
时,config.xml 中列出的所有插件和平台都将被安装(如果尚未安装的话)。
您还可以在准备和构建中指定一个平台。因此,如果您使用 Mac,您可以查看 git 存储库和 运行 cordova prepare ios
以仅安装 ios 平台和插件。
我添加到 Niko 列表:
# IntelliJ IDEA files
*.iml
.idea
#windows
Thumbs.db
Desktop.ini
和
*.sw[mnpcod]
*.log
*.tmp
*.tmp.*
log.txt
之后您可以使用以下命令保存平台和插件。
平台大量节省
$ 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 提示:在进行任何其他操作之前,请始终参考官方文档以获得正确的解决方案。
我遵循了这些步骤:
创建 cordova 项目
添加平台
添加插件
在构建项目之前,我提交并推送生成的文件。在我构建项目并检查生成的新文件之后。我把这些添加到 .gitignore:
/platforms/android/gradlew.bat
/platforms/android/build
/platforms/android/gradle
/platforms/android/libs
/platforms/android/gradlew.bat
/platforms/android/CordovaLib/build
/platforms/android/.gradle
我不知道答案,但我找到了一些可能有用的东西。这个pull request was approved.
这是 file :
# Mac
.DS_Store
# Node
npm-debug.log
/node_modules
# Cordova
/platforms
/plugins
# res
resources/signing
大多数其他答案都是 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/
如您所见,我注释了大部分行(所有以# 开头的行)。
这是因为我 运行 关注插件版本更改的问题,并决定了解插件更新发生了什么。
基本上所有平台和插件文件都包含在commit中,现在我的生活很平静。
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
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
文件夹的内容,所以我也忽略了它。
我使用 Cordova 5.0.0,我有以下项目结构:
MyProject
- hooks
- platforms
- plugins
- resources
- www
- config.xml
我现在的问题是:我可以省略哪些文件夹?我问它是因为我在三个不同的平台上工作。我在 linux 上开发 android,在 windows 上开发 windows phone,在 mac 上开发 ios。如果我提交整个项目,我总是会收到不支持平台的警告和错误。
我想要的是一个简约的 git 存储库。
例如,一个问题是插件。当我从存储库中删除插件文件夹时,我必须手动将它们添加到我的每个开发平台上。
另一个问题是资源文件夹。我使用 ionic 自动生成图标和启动画面。当我现在尝试在 ios 上构建项目时,它抱怨 android 的图像。
那么我需要什么,我可以省略什么?
这取决于平台。
你可以使用.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
您可以忽略 platforms 和 plugins 目录,只要您没有在其中添加任何自定义代码即可。
添加插件和平台时,在命令中添加--save。例如
cordova platform add ios@3.8.0 --save
或
cordova plugin add cordova-plugin-device --save
这会将您使用的插件和平台的记录保存到您的 config.xml 文件中。当您 运行 cordova prepare
或 cordova build
时,config.xml 中列出的所有插件和平台都将被安装(如果尚未安装的话)。
您还可以在准备和构建中指定一个平台。因此,如果您使用 Mac,您可以查看 git 存储库和 运行 cordova prepare ios
以仅安装 ios 平台和插件。
我添加到 Niko 列表:
# IntelliJ IDEA files
*.iml
.idea
#windows
Thumbs.db
Desktop.ini
和
*.sw[mnpcod]
*.log
*.tmp
*.tmp.*
log.txt
之后您可以使用以下命令保存平台和插件。
平台大量节省
$ 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 提示:在进行任何其他操作之前,请始终参考官方文档以获得正确的解决方案。
我遵循了这些步骤:
创建 cordova 项目
添加平台
添加插件
在构建项目之前,我提交并推送生成的文件。在我构建项目并检查生成的新文件之后。我把这些添加到 .gitignore:
/platforms/android/gradlew.bat
/platforms/android/build
/platforms/android/gradle
/platforms/android/libs
/platforms/android/gradlew.bat
/platforms/android/CordovaLib/build
/platforms/android/.gradle
我不知道答案,但我找到了一些可能有用的东西。这个pull request was approved.
这是 file :
# Mac
.DS_Store
# Node
npm-debug.log
/node_modules
# Cordova
/platforms
/plugins
# res
resources/signing
大多数其他答案都是 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/
如您所见,我注释了大部分行(所有以# 开头的行)。 这是因为我 运行 关注插件版本更改的问题,并决定了解插件更新发生了什么。 基本上所有平台和插件文件都包含在commit中,现在我的生活很平静。
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
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
文件夹的内容,所以我也忽略了它。