使用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
答案 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项目,只需勾选下面列出的复选框(模板):
将syntax: glob
添加到生成的文件的顶部。
答案 2 :(得分:2)
我建议您将上面列出的所有文件添加到.hgignore
,但build.gradle
和settings.gradle
除外。 .idea
目录中的文件由Android Studio
自动生成,您无法跟踪或手动编辑。我认为您无需编辑gradlew
或gradlew.bat
,因此您也可以对其进行编辑。您可以稍后添加gradle.properties
和gradle-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