【问题标题】:Mercurial .hgignore for Android Studio projects用于 Android Studio 项目的 Mercurial .hgignore
【发布时间】:2015-02-03 09:05:12
【问题描述】:

使用 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

【问题讨论】:

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

标签: android mercurial android-studio hgignore


【解决方案1】:

这是基于 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

【讨论】:

    【解决方案2】:

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

    • 安卓
    • Gradle(可选)
    • JetBrains
    • AppEngine(可选)

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 2012-09-24
          • 2010-09-07
          • 1970-01-01
          • 2012-03-05
          • 1970-01-01
          • 1970-01-01
          • 2016-01-13
          • 1970-01-01
          • 2012-02-10
          相关资源
          最近更新 更多