我仍然无法获得可以帮助我在 git 中为 Android 项目版本化代码的 .gitignore 文件,如果我修改一个类或一些非常简单的东西,则会对测试等不必要的文件进行更改。
我也附上了我的 .gitignore 。
*.iml
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
# Built application files
*.apk
*.ap_
# Files for the ART/Dalvik VM
*.dex
# Java class files
*.class
# Generated files
bin/
gen/
out/
# Gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log
# Android Studio Navigation editor temp files
.navigation/
# Android Studio captures folder
captures/
# Intellij
*.iml
.idea/workspace.xml
.idea/tasks.xml
.idea/gradle.xml
.idea/dictionaries
.idea/libraries
# Keystore files
*.jks
# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild
# Google Services (e.g. APIs or Firebase)
google-services.json
# Freeline
freeline.py
freeline/
freeline_project_description.json
谢谢。
仅仅因为您将 .gitignore 文件添加到目录并不意味着它会像那样忽略它。您必须运行以下命令,以便 gitignore 识别不应跟踪的文件。请记住提交您当前拥有的文件,否则您将丢失对这些文件的更改
检查文档,其中指定:
因此,内部定义的内容
.gitignore
适用于未跟踪的文件,在您的情况下,我主要看到的文件是目录/build
中已标记为跟踪的文件。要在 .gitignore 中进行更改,请执行以下操作:
提交挂起的更改并从索引中删除修改过的文件:
保存更改:
并执行提交:
查看您的文件
.gitignore
,我可以建议一些更改:*.iml
更改**/*.iml
为在所有目录中搜索扩展名为 .iml 的文件.gradle
by.gradle/
正确指定了一个目录。如果您指定
/build
,则不必指定文件*.dex
和*.class
,因为它们位于此目录中,对于bin/
gen/
(在 android es 中/generated
)和out/
(在 android es 中/outputs
)目录相同,您无需指定它们。文档 https://git-scm.com/docs/gitignore
您的问题似乎是sample-core/build/文件夹正在被版本化
要解决此问题,除了
.gitnore
项目根目录中的文件之外,您还应该在sample-core.gitignore
文件夹中添加一个附加文件。该文件应具有以下内容:另外一个事实是,当您使用 Android Studio 创建新项目时,IDE 会自动生成这两个文件
.gitignore
:一个位于项目的根目录中,另一个位于模块中。这里有更多关于 Android 中项目结构的信息。