如何从提交清单Android Studio中删除一些文件?

时间:2019-07-19 05:51:23

标签: android git android-studio

我想提交我在AS项目中所做的更改。但我看到更改列表包含release文件夹:

enter image description here

这意味着我将提交在构建安装程序期间生成的可行apk文件和一些配置文件。我也可以取消选中这些文件,但是当我下次尝试进行提交时,我将再次看到这些文件。也许我可以从更改列表中完全删除这些文件,并防止其在以后的所有时间出现。我认为发生这种情况是因为我在终端上尝试了一些命令,并且一个命令可以添加这些文件,我认为是:

git commit --am

那么,如何在不损坏所有项目的情况下解决这个问题?

更新:

我可以使用以下命令解决问题吗?

git rm --app-release.apk吗?

6 个答案:

答案 0 :(得分:1)

步骤1:使用以下命令从暂存区中删除文件

  

git重置HEAD文件

check this

similar post

步骤2:将release文件夹和其他生成的文件添加到您的.gitignore

参考:

答案 1 :(得分:1)

如果您有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文件

答案 2 :(得分:1)

我建议使用https://www.gitignore.io/为您的android项目生成.gitignore文件,并将其放在项目的根文件夹中。

https://www.gitignore.io/api/android为您的android项目提供了起点(请根据您的要求进行修改。但是在大多数情况下,这应该是开箱即用的解决方案)。

此外,要补充一点。这是git的预期行为,并且与android studio / android无关。

答案 3 :(得分:1)

您需要将这些文件添加到android studio中版本控制区域下被忽略的文件中。导航到

Open File -> Settings -> Version Control -> Ignored Files. 

添加您不想提交或包含的文件。像其他答案一样,建议使用.gradle工具执行此操作。

enter image description here

答案 4 :(得分:1)

第一件事:

您可以通过以下命令,通过终端将.gitignore文件添加到存储库中:

  1. 在终端中,导航到Git存储库的位置。
  2. 输入touch .gitignore创建一个.gitignore文件。

第二,您应该注意这一点;如果您已经签入了文件,并且想忽略它,那么以后再添加规则时,Git将不会忽略该文件。在这种情况下,必须首先通过在终端中运行以下命令来取消跟踪文件:

$ git rm --cached FILENAME

还请注意,如果您已经签入了文件,并且想要忽略它,那么以后再添加规则时,Git将不会忽略该文件。在这种情况下,必须首先通过在终端中运行以下命令来取消跟踪文件:

$ git rm --cached FILENAME

有关此的更多信息,请遵循https://help.github.com/en/articles/ignoring-files

答案 5 :(得分:1)

首先将文件/文件夹添加到您的.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而不是第一个命令。