Programing

Cordova 5.0.0 : 어떤 파일을 git에 커밋해야합니까?

lottogame 2020. 9. 23. 08:05
반응형

Cordova 5.0.0 : 어떤 파일을 git에 커밋해야합니까?


Cordova 5.0.0을 사용하고 있으며 다음과 같은 프로젝트 구조가 있습니다.

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

이제 내 질문은 다음 중 어느 폴더를 생략 할 수 있습니까? 세 가지 다른 플랫폼에서 작업하기 때문에 묻습니다. Android 용 Linux, Windows Phone 용 Windows 및 iOS 용 Mac에서 개발합니다. 전체 프로젝트를 커밋하면 지원되지 않는 플랫폼에 대한 경고와 오류가 항상 표시됩니다.

내가 원하는 것은 최소한의 git 저장소입니다.

예를 들어 한 가지 문제는 플러그인입니다. 저장소에서 플러그인 폴더를 삭제하면 각 개발 플랫폼에 수동으로 추가해야합니다.

또 다른 문제는 리소스 폴더입니다. ionic을 사용하여 아이콘과 스플래시 화면을 자동으로 생성합니다. 이제 iOS에서 프로젝트를 빌드하려고 할 때 Android 용 이미지에 대해 불평합니다.

그래서 무엇이 필요하고 무엇을 생략 할 수 있습니까?


사용자 정의 코드를 추가하지 않은 한 플랫폼 및 플러그인 디렉토리를 무시할 수 있습니다.

플러그인 및 플랫폼을 추가 할 때 명령에 --save를 추가하십시오. 예 :

cordova platform add ios@3.8.0 --save

또는

cordova plugin add cordova-plugin-device --save

이렇게하면 사용하는 플러그인 및 플랫폼의 기록이 config.xml 파일에 저장됩니다. 실행 cordova prepare하거나 cordova buildconfig.xml에 나열된 모든 플러그인 및 플랫폼이 아직 설치되지 않은 경우 설치됩니다.

준비 및 빌드에서 플랫폼을 지정할 수도 있습니다. 따라서 Mac을 사용하는 경우 git 저장소를 확인하고 실행 cordova prepare ios하여 ios 플랫폼과 플러그인 만 설치할 수 있습니다.


플랫폼에 따라 다릅니다.

이 .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

나중에 다음 명령어를 사용하여 플랫폼 및 플러그인을 저장할 수 있습니다.

플랫폼 대량 절약

$ cordova platform save

플러그인 대량 절약

$ 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 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

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 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


I add to the Niko list :

# IntelliJ IDEA files
*.iml
.idea

#windows
Thumbs.db
Desktop.ini

and

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

참고URL : https://stackoverflow.com/questions/29970885/cordova-5-0-0-which-files-should-i-commit-to-git

반응형