我刚刚试着创建一个新的phonegap 3.0项目...注意:我是phonegap的新手。无论如何,我看到项目文件夹包含:
.cordova
merges
platforms
plugins
www
在尝试过phonegap local run android
之后,我在platforms/android
中看到了很多二进制/生成的文件。这让我想知道,这个文件夹结构的哪些部分应该添加到我的git库中。通常,我会认为提交二进制文件是非常糟糕的做法。因此,我通常会将bin/
、obj/
、*.o
、*.pyc
等模式添加到.gitignore
中,以避免用那些只会造成合并冲突的东西污染我的git存储库。
当然,www
应该被添加到git中,但是这个项目的其他部分呢?它们在多大程度上是源代码的产品,在多大程度上是项目配置?
你的工作是什么?当然,我是新人,所以我几乎不明白什么是有意义的……
发布于 2013-07-29 15:23:41
答案取决于您正在开发phongap应用程序的平台,以及您是否遵循标准目录结构。
如果您的项目目录结构是标准的,那么您可以从这个gitignore开始,并根据需要对其进行修改。
根据经验,您必须排除所有生成的文件,如bin/
和gen/
目录。如果你正在开发安卓版本的应用程序,你也应该排除构建文件,比如*.apk
。
还应排除android
子目录中所有生成的文件:
Android/bin/
Android/gen/
Android/assets/
发布于 2013-10-03 04:54: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
此gist包含一个更完整的脚本,用于处理不提交plugins
和platforms
目录的项目。它提供了一种机制,用于将图标和闪屏图像从www复制到平台目录(用于iOS和Android),安装插件,以及处理应添加到版本控制的特定于平台的文件。
更新:Grunt Gist
下面是另一个gist,它是上面提到的bash脚本的Grunt端口。(感谢@obie的建议)。
发布于 2013-08-21 11:56:16
所以我只是通过反复试验才弄明白这一点的。如果您使用的是phonegap本地或远程构建,则可以省略platforms
目录,因为它是动态生成的。所有其他文件夹都是必需的,包括隐藏文件夹.cordova
。
https://stackoverflow.com/questions/17911204
复制相似问题