Mercurial .hgignore for Android Studio projects



使用 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
.ideacompiler.xml
.ideacopyrightprofiles_settings.xml
.ideaencodings.xml
.ideagradle.xml
.ideamisc.xml
.ideamodules.xml
.ideascopesscope_settings.xml
.ideavcs.xml
build.gradle
MyApplication.iml
gradle.properties
gradlewrappergradle-wrapper.jar
gradlewrappergradle-wrapper.properties
gradlew
gradlew.bat
settings.gradle

我应该将这些文件添加到忽略列表中,还是应该将它们添加到 VCS?

目前还不清楚应该如何处理.iml文件。使用 AS 将项目添加到 Mercurial 将添加appapp.iml文件,但使用 AS 将项目添加到 Git 将使该文件保持未跟踪状态。

我不想在VCS中跟踪多余的文件,但我不想错过存储重要文件。应该跟踪文件的来源有很多,但信息差异很大,很难得出任何明确的结论。

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

syntax: glob
.hgignore
.gradle
local.properties
.idea
.DS_Store
build
*.iml
gradlew
gradlew.bat

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

gradle.properties
gradlewrappergradle-wrapper.jar
gradlewrappergradle-wrapper.properties

这就是我最终为基于 gradle 的 Android Studio (1.5( 项目得到的:

syntax: glob
*.iml
.gradle
.idea/dictionaries
.idea/libraries
.idea/tasks.xml
.idea/workspace.xml
build
gen
local.properties

我认为这是一个非常完整的列表。恕我直言,唯一有问题的选择是您是否忽略*.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

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

  • 人造人
  • 格拉德尔(可选(
  • 捷脑
  • 应用引擎(可选(

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新