适用于Android Studio项目的Mercurial .hgignore

时间:2014-12-05 08:32:21

标签: 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

但是当我为我的项目执行Add to 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
.DS_Store
build
*.iml
gradlew
gradlew.bat

为了在开发人员之间共享项目,必须将文件提交给VCS,否则AS将无法在另一台机器上导入项目:

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

4 个答案:

答案 0 :(得分:7)

这就是基于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 assemble。 然后,构建系统将自动安装gradle-wrapper.properties中指定的gradle版本以执行assemble任务。这是值得分享的宝贵信息。

另请查看JetBrains官方支持文章:https://intellij-support.jetbrains.com/hc/en-us/articles/206827587-How-to-manage-projects-under-Version-Control-Systems

答案 1 :(得分:3)

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

  • 的Android
  • Gradle(可选)
  • JetBrains的
  • AppEngine(可选)

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

答案 2 :(得分:2)

我建议您将上面列出的所有文件添加到.hgignore,但build.gradlesettings.gradle除外。 .idea目录中的文件由Android Studio自动生成,您无法跟踪或手动编辑。我认为您无需编辑gradlewgradlew.bat,因此您也可以对其进行编辑。您可以稍后添加gradle.propertiesgradle-wrapper.properties,当您需要更改默认版本时(个人而言,我还要忽略这两个版本)。

答案 3 :(得分:0)

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

syntax: regexp
.gradle/*
.idea/*
syntax: glob
.git/*
*/out/*
*/build/*
*/target/*
.DS_Store
*.iml
*.ipr
*.iws
*.log