如何从提交清单 Android Studio 中删除一些文件?
Posted
技术标签:
【中文标题】如何从提交清单 Android Studio 中删除一些文件?【英文标题】:How to remove some files from commit checklist Android Studio? 【发布时间】:2019-11-28 01:58:33 【问题描述】:我想提交我在我的 AS 项目中所做的更改。但我看到更改列表包含release
文件夹:
这意味着我将提交可行的apk
文件和一些在构建安装程序期间生成的配置文件。我也可以取消勾选这些文件,但是当我下次尝试提交时,我会再次看到这些文件。也许我可以从我的更改列表中完全删除这些文件,并防止它在下次出现。我认为这是因为我在终端尝试了一些命令,一个命令可以添加这些文件,我认为是:
git commit --am
那么,我怎样才能在不破坏所有项目的情况下解决这个问题呢?
更新:
我可以用命令解决我的问题吗:
git rm --app-release.apk
?
【问题讨论】:
您可以将其添加到未版本控制或 git 忽略文件中 @ManojPerumarath,我该怎么做?在终点站? 我不知道怎么用命令,用android studio工具很容易做到 只删除release文件夹,生成签名apk时,选择不同的文件夹。 【参考方案1】:第 1 步:使用以下命令从暂存区删除文件
git 重置 HEAD 文件
check this
similar post
第 2 步:将 release
文件夹和其他生成的文件添加到您的 .gitignore
参考:
【讨论】:
【参考方案2】:如果你有一个 gitignore 文件,那么添加这一行
# Built application files
*.apk
*.ap_
*.aab
# 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/assetWizardSettings.xml
.idea/dictionaries
.idea/libraries
.idea/caches
# Keystore files
# Uncomment the following lines if you do not want to check your keystore
files in.
#*.jks
#*.keystore
# 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
# fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/readme.md
或在项目的根文件夹中创建一个 .gitignore 文件
【讨论】:
它对我不起作用 :( 我备份了 .gitignore 文件并创建了一个具有相关文件类型的新文件,现在我有太多未版本化的文件 什么是长 gitignore 文件?我也尝试在设置中添加一些文件,但它也没有帮助我 编辑文件后是否必须使cashes/restart AS失效? @AndrewGoroshko 不需要重建 我也有类似的想法,但我设法仅删除了git rm -r --cached path
的文件【参考方案3】:
我建议使用https://www.gitignore.io/ 为您的android 项目生成.gitignore
文件并将其放在项目的根文件夹中。
https://www.gitignore.io/api/android 为您的 android 项目提供了先机(根据您的要求进行修改。但在大多数情况下,这应该是开箱即用的解决方案)。
另外,补充一点。这是git
的预期行为,与android studio/android 无关。
【讨论】:
【参考方案4】:您需要将这些文件添加到您的 android 工作室的版本控制区域下的忽略文件中。导航到
Open File -> Settings -> Version Control -> Ignored Files.
添加您不想提交或包含的文件。与建议使用 .gradle 工具的其他答案类似的另一种方法。
【讨论】:
我试过了,但没有帮助 :( 我仍然看到这些文件 @AndrewGoroshko 我认为您已经将这些文件添加到了 git。您必须先删除它们,然后再添加到忽略文件中。【参考方案5】:第一件事:
您可以通过终端通过以下命令将 .gitignore 文件添加到您的存储库:
-
在终端中,导航到 Git 存储库的位置。
输入
touch .gitignore
创建一个.gitignore 文件。
其次,你要注意,如果你已经有一个文件签入并且你想忽略它,如果你以后添加规则,Git 不会忽略该文件。在这些情况下,您必须先取消跟踪文件,方法是在终端中运行以下命令:
$ git rm --cached FILENAME
更多信息请关注https://help.github.com/en/articles/ignoring-files
【讨论】:
假设如果我有 10 个分支,并且我想从所有分支以及 hsitory 中删除文件。有可能吗? 当然!有可能的。目前,我不记得该怎么做。一个小小的搜索就会让你离开......@AmanVerma【参考方案6】:首先将文件/文件夹添加到您的 .gitignore 文件中(在您的情况下,是应用级别的,而不是项目级别的)
转到 Android Studio 中的终端并输入以下命令:
git rm -r the-directory-to-remove
在这种情况下,您的the-directory-to-remove
是发布文件夹。
上述命令将从git中删除指定目录。
git commit -m "Delete release folder"
上述命令提交更改,您可以将“删除发布文件夹”更改为您喜欢的任何内容。
git push origin <your-git-branch>
上述命令将更改推送到 Github(或 BitBucket)。
现在,如果您只想从 Github/BitBucket 中删除文件,而不是从整个 git 文件系统中删除文件,请运行 git rm -r --cached myFolder
而不是第一个命令。
【讨论】:
以上是关于如何从提交清单 Android Studio 中删除一些文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 android studio 从应用程序中的内部或外部存储(SD 卡)读取文件?
清单合并失败并出现多个错误:Android Studio Java