I use Cordova 5.0.0 and i have the following project structure:
MyProject
- hooks
- platforms
- plugins
- resources
- www
- config.xml
It depends on the platforms.
You can use this example of .gitignore and customize according to your needs.
# 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
Most of the other answers are 2/3 years old.
2019 Update:
# 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/
As you can see I commented most of the lines ( all lines starting with # ). This is because I ran into issues with plugin version changes, and decided to know what is happening with plugin updates. Essentially all platform & plugin files are included in commit, now my life is peaceful.
2019:
I stated with this.
After developing & publishing the app, it became below:
(If you deviate from below, comment below, we can learn from each other)
# 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
I don't know the answer, but I've found something that might help. This pull request was approved.
Here's the file :
# Mac
.DS_Store
# Node
npm-debug.log
/node_modules
# Cordova
/platforms
/plugins
# res
resources/signing
You can save platform and plugin afterwards by using following commands.
platform mass saving
$ cordova platform save
Plugins mass saving
$ cordova plugin save
Kindly note that there is no -- in above commands
One More thing, after fetching repo on another machine you just run following command to generate and fetch plugins and platforms automatically
$ cordova prepare
For more reference visit the links below. https://cordova.apache.org/docs/en/latest/platform_plugin_versioning_ref/#mass-saving-platforms-on-an-existing-project
Cordova Tip: Always refer to official docs before before anything else to get the right solution.
I add to the Niko list :
# IntelliJ IDEA files
*.iml
.idea
#windows
Thumbs.db
Desktop.ini
and
*.sw[mnpcod]
*.log
*.tmp
*.tmp.*
log.txt
I followed these steps:
create cordova project
add platforms
add plugins
Before build project, I commit and push generated files. After I build project and check for new files generated. I got these to add in .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