105

新しい phonegap 3.0 プロジェクトを作成しようとしました... 注: phonegap は初めてです。とにかく、プロジェクトフォルダーには次のものが含まれていることがわかります。

  • .cordova
  • merges
  • platforms
  • plugins
  • www

試しphonegap local run androidてみたところ、 に多くのバイナリ/生成ファイルが表示されますplatforms/android。これにより、このフォルダー構造のどの部分を git リポジトリーに追加する必要があるのか​​疑問に思います。通常、バイナリ ファイルをコミットするのは非常に悪い方法だと思います。したがって、マージの競合を作成するためだけに役立つもので git リポジトリが汚染されるのを避けるために、通常は 、 、bin/などのobj/パターンを追加します。*.o*.pyc.gitignore

確かに、wwwgit に追加する必要がありますが、プロジェクトの他の部分についてはどうでしょうか。それらはどの程度ソース コードの製品であり、どの程度プロジェクト構成ですか?

職業はなんですか?確かに私は新しいので、ここで何が意味をなすのかほとんど理解できません...

4

6 に答える 6

50

@Jake Moshenkoの回答を拡張:

platformsディレクトリを省略するというアイデアが気に入っています。plugins実際、ディレクトリとディレクトリの両方を除外できplatformsます。の良い出発点.gitignore:

platforms/
plugins/

これの問題は、実際に作業する前にリポジトリのクリーン コピーを初期化する必要があることです。次のような init スクリプトを作成するとよいでしょう。

#!/bin/bash
textReset=$(tput sgr0)
textGreen=$(tput setaf 2)
message_info () {
  echo "${textGreen}[my-app]${textReset} $1"
}

message_info "Creating necessary directories..."
mkdir plugins
mkdir platforms

message_info "Adding platforms..."
# If using cordova, change to: cordova platform add android
phonegap build android
phonegap build ios

message_info "Adding plugins..."
# If using cordova, change to: cordova plugin add
phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git

このアプローチの注意点は、phonegap/cordova でサポートされているもの (つまり、画面の向きのサポート) 以外で、プラットフォーム固有のアプリ コード/構成をカスタマイズするのが少し難しくなることです。

更新: Bash Gist

この要点pluginsには、およびplatformsディレクトリをコミットしないプロジェクトを処理するためのより完全なスクリプトが含まれています。これは、www からプラットフォーム ディレクトリ (iOS および Android 用) にアイコンとスプラッシュスクリーン イメージをコピーし、プラグインをインストールし、バージョン管理に追加する必要があるプラットフォーム固有のファイルを処理するためのメカニズムを提供します。

更新: Grunt Gist

これは、上記の bash スクリプトの Grunt ポートである別の要点です。(うなり声を提案してくれた@obieに感謝します)。

于 2013-10-02T20:54:50.037 に答える
43

答えは、phongap アプリを開発しているプラ​​ットフォームと、標準のディレクトリ構造に従っているかどうかによって異なります。

プロジェクトのディレクトリ構造が標準の場合は、このgitignoreから開始して、必要に応じて変更できます。

経験則では、bin/およびgen/ディレクトリなどの生成されたすべてのファイルを除外する必要があります。アプリの Android バージョンを開発している場合は、ビルド ファイルも同様に除外する必要があります*.apk

サブディレクトリで生成されたすべてのファイルandroidも除外する必要があります。

Android/bin/
Android/gen/
Android/assets/
于 2013-07-29T07:23:41.217 に答える
7

だから私は試行錯誤を通してこれを理解しました。phonegap ローカルまたはリモート ビルドを使用している場合は、そのplatforms場で生成されるため、ディレクトリを省略できます。隠しフォルダーを含む他のすべてのフォルダー.cordovaが必要です。

于 2013-08-21T03:56:15.510 に答える
4

この問題に関する私の経験と、最終的に採用したアプローチをここに残しておきたいと思います。

phonegap プロジェクトでは、.gitignore ファイルを使用して、/platform フォルダー以外のすべてのファイルのコミットを開始しました。開発者がリポジトリのクローンを作成したとき、残っている唯一のアクションは実行することでした。

phonegap/cordova 追加プラットフォーム

しかし、そうではありませんでした。プラットフォームを追加してコンパイルしようとすると、エラーが表示され、アプリがデバイスにインストールされませんでした。

ログを見ると、このエラーはプラグインが原因であることがわかりました。そこで、プロジェクトで使用していたすべてのプラグインを再インストールして、アプリが正しく実行されるようにすることにしました。

したがって、フォルダーのプラットフォームとプラグインを除いたすべてのコンテンツをリポジトリに保存することをお勧めします。プロジェクトで使用されるプラグインのリストを含むファイル README を作成してリポジトリにアップロードします。

このように、開発者がリポジトリのクローンを作成するときは、次のことを行う必要があります。

1.- プラットフォームを追加します: phonegap/cordova add platform "platform"

2.- プラグインを追加します: phonegap/cordova plugin add "plugin"

お役に立てれば!

よろしく。

于 2015-01-14T10:14:42.273 に答える
1

このようなものの多くは古く、Apache Cordova の最新バージョンには実際には当てはまりません。私は Apache Cordova 5.1.1 を使用していますが、この .gitignore を使用すると、Android と IOS の両方でバージョン管理する必要のないものをすべてブロックしながら、カスタム アイコンなどでカスタマイズすることができます。はい、.gradle が使用されているため、削除しないでください。

www/
.gradle/
build/
.tmp/
.temp/
coverage/
*.log
node_modules/
bower_components/
于 2015-07-21T03:03:00.190 に答える
0

それはやや個人的な好みですが、私はこれを使用しました(Androidのみのプロジェクトの場合)。ほとんどを削除しますが、カスタムは維持します

ToonPlane/platforms/android/*
!ToonPlane/platforms/android/AndroidManifest.xml
ToonPlane/plugins/*
!ToonPlane/plugins/android.json
!ToonPlane/plugins/fetch.json
于 2016-07-08T04:13:23.423 に答える