首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用于PhoneGap/Cordov3.0项目的.gitignore -我应该提交什么?

用于PhoneGap/Cordov3.0项目的.gitignore -我应该提交什么?
EN

Stack Overflow用户
提问于 2013-07-29 02:06:36
回答 6查看 29.4K关注 0票数 105

我刚刚试着创建一个新的phonegap 3.0项目...注意:我是phonegap的新手。无论如何,我看到项目文件夹包含:

  • .cordova
  • merges
  • platforms
  • plugins
  • www

在尝试过phonegap local run android之后,我在platforms/android中看到了很多二进制/生成的文件。这让我想知道,这个文件夹结构的哪些部分应该添加到我的git库中。通常,我会认为提交二进制文件是非常糟糕的做法。因此,我通常会将bin/obj/*.o*.pyc等模式添加到.gitignore中,以避免用那些只会造成合并冲突的东西污染我的git存储库。

当然,www应该被添加到git中,但是这个项目的其他部分呢?它们在多大程度上是源代码的产品,在多大程度上是项目配置?

你的工作是什么?当然,我是新人,所以我几乎不明白什么是有意义的……

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-07-29 15:23:41

答案取决于您正在开发phongap应用程序的平台,以及您是否遵循标准目录结构。

如果您的项目目录结构是标准的,那么您可以从这个gitignore开始,并根据需要对其进行修改。

根据经验,您必须排除所有生成的文件,如bin/gen/目录。如果你正在开发安卓版本的应用程序,你也应该排除构建文件,比如*.apk

还应排除android子目录中所有生成的文件:

代码语言:javascript
复制
Android/bin/
Android/gen/
Android/assets/
票数 43
EN

Stack Overflow用户

发布于 2013-10-03 04:54:50

在@Jake Moshenko上扩展答案:

我喜欢省略platforms目录的想法。事实上,我能够排除pluginsplatforms目录。.gitignore的良好起点

代码语言:javascript
复制
platforms/
plugins/

这样做的问题是,必须先初始化存储库的干净副本,然后才能实际使用它。创建一个init脚本可能很有意义,例如:

代码语言:javascript
复制
#!/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包含一个更完整的脚本,用于处理不提交pluginsplatforms目录的项目。它提供了一种机制,用于将图标和闪屏图像从www复制到平台目录(用于iOS和Android),安装插件,以及处理应添加到版本控制的特定于平台的文件。

更新:Grunt Gist

下面是另一个gist,它是上面提到的bash脚本的Grunt端口。(感谢@obie的建议)。

票数 50
EN

Stack Overflow用户

发布于 2013-08-21 11:56:16

所以我只是通过反复试验才弄明白这一点的。如果您使用的是phonegap本地或远程构建,则可以省略platforms目录,因为它是动态生成的。所有其他文件夹都是必需的,包括隐藏文件夹.cordova

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17911204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档