Mercurial.hgignore用于Android Studio项目

Mercurial.hgignore用于Android Studio项目,android,mercurial,android-studio,hgignore,Android,Mercurial,Android Studio,Hgignore,使用Android Studio(1.0 RC4 Windows)进行开发时,Mercurial中应该忽略哪些文件 创建新的应用程序项目也会创建.gitignore文件。我已经把它翻译成了下面的.hgignore文件 syntax: glob .hgignore .gradle local.properties .idea/workspace.xml .idea/libraries .DS_Store build syntax: glob .hgignore .gradle local.pro

使用Android Studio(1.0 RC4 Windows)进行开发时,Mercurial中应该忽略哪些文件

创建新的应用程序项目也会创建
.gitignore
文件。我已经把它翻译成了下面的
.hgignore
文件

syntax: glob
.hgignore
.gradle
local.properties
.idea/workspace.xml
.idea/libraries
.DS_Store
build
syntax: glob
.hgignore
.gradle
local.properties
.idea
.DS_Store
build
*.iml
gradlew
gradlew.bat
但当我为我的项目向VCS添加
时,一些不在忽略列表中的文件不会被添加到Mercurial中。遗漏的文件有:

.idea\.name
.idea\compiler.xml
.idea\copyright\profiles_settings.xml
.idea\encodings.xml
.idea\gradle.xml
.idea\misc.xml
.idea\modules.xml
.idea\scopes\scope_settings.xml
.idea\vcs.xml
build.gradle
MyApplication.iml
gradle.properties
gradle\wrapper\gradle-wrapper.jar
gradle\wrapper\gradle-wrapper.properties
gradlew
gradlew.bat
settings.gradle
我应该将这些文件添加到忽略列表,还是应该将它们添加到VCS

还不清楚应该如何处理
.iml
文件。使用AS将项目添加到Mercurial将添加
app\app.iml
文件,但使用AS将项目添加到Git将不跟踪该文件

我不想跟踪VCS中多余的文件,但我不想错过存储重要文件的机会。应该追踪的档案来源很多,但信息差异很大,很难做出明确的结论

更新:我的
.hgignore
文件的最终版本

syntax: glob
.hgignore
.gradle
local.properties
.idea/workspace.xml
.idea/libraries
.DS_Store
build
syntax: glob
.hgignore
.gradle
local.properties
.idea
.DS_Store
build
*.iml
gradlew
gradlew.bat
为了在开发人员之间共享项目,必须将以下文件提交给VCS,否则AS将无法在另一台计算机上导入项目:

gradle.properties
gradle\wrapper\gradle-wrapper.jar
gradle\wrapper\gradle-wrapper.properties

我建议您将上面列出的所有文件添加到
.hgignore
中,除了
build.gradle
settings.gradle
之外。
.idea
目录中的文件是由
Android Studio
自动生成的,您不应该跟踪或手动编辑它们。我认为你永远都不需要编辑
gradlew
gradlew.bat
,这样你也可以找到它们。您可以在以后需要更改默认版本时添加
gradle.properties
gradle wrapper.properties

借助插件,只需单击两下即可生成
.hgignore
。打开根文件夹上的上下文菜单,选择“新建>>。忽略文件>>.hgignore”。然后,对于Android Studio项目,只需勾选下面列出的复选框(模板):

  • 安卓
  • Gradle(可选)
  • 喷气式飞机
  • AppEngine(可选)

语法:glob
添加到生成文件的顶部。

这就是我为基于gradle的Android Studio(1.5)项目所做的:

syntax: glob
*.iml
.gradle
.idea/dictionaries
.idea/libraries
.idea/tasks.xml
.idea/workspace.xml
build
gen
local.properties
我认为这是一份非常完整的清单。 唯一有问题的选项imho是您是否忽略
*.iml
文件。 它们从
build.gradle
复制信息,由Android Studio自动生成并不断更新,但另一方面,如果您决定不跟踪它们,新开发人员将需要“导入项目”而不是“打开现有的Android Studio项目”

与另一个答案相反,我强烈建议将所有gradle包装文件检查到VCS中。 包装器的目的是引导gradle的安装。 例如,如果要设置自动生成,只需签出项目,创建
local.properties
或相应的环境变量,然后执行
gradlew assembly
。 然后,生成系统将自动安装在
gradle wrapper.properties
中指定的gradle版本,以执行
assembly
任务。这是值得分享的宝贵信息


另请查看这篇JetBrains官方支持文章:

IntelliJ IDEA mercurial.hgignore文件,用于常规gradle/maven java多项目,包括包装器(也应提交包装器)


我建议您不要忽略.hgignore文件本身。如果在另一台计算机上加载项目,则不需要重新创建它。