给Git仓库添加.gitignore:清理、删除、排除被Git误添加的临时文件

简介: 本文介绍了如何为Git仓库添加`.gitignore`文件来排除不需要跟踪的临时文件,并展示了如何删除已经被提交的临时文件缓存,以清理Git仓库中的不必要文件。

一、前言

最近维护代码过程中,发现某APP代码库里被提交了许多临时文件,而这些临时文件每次都会变化,所以导致每次修改提交时候,都会出行他们的身影,非常烦人。其原因,很明显是没有包含.gitignore文件,楼下,就介绍加上.gitignore的方法。

二、发现提交的临时文件

如下,发现许多临时文件目录,如 .idea 被提交到了版本库,导致每次git status很难分清自己修改的文件,所以需要将它们去掉。


Windows PowerShell
版权所有(C) Microsoft Corporation。保留所有权利。

安装最新的 PowerShell,了解新功能和改进!https://aka.ms/PSWindows

PS C:\Users\66176\Documents\works\mt9652\all_app\mtvsetting> git status .
On branch master_liebao
Your branch is up to date with 'origin/master_liebao'.

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   app/src/main/java/com/kingboard/vavatvsettings/activity/bluetooth/BluetoothDeviceManagerActivity.java
        modified:   app/src/main/java/com/kingboard/vavatvsettings/fragment/currency/MachineFragment.java
        modified:   app/src/main/res/values-zh-rCN/strings.xml
        modified:   app/src/main/res/values-zh-rTW/strings.xml
        modified:   app/src/main/res/values/strings.xml
        modified:   app/src/main/res/xml/menu_child_currency_machine.xml

Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   .gradle/6.1.1/executionHistory/executionHistory.bin
        modified:   .gradle/6.1.1/executionHistory/executionHistory.lock
        modified:   .gradle/6.1.1/fileHashes/fileHashes.bin
      ……  省略  ……
        modified:   .idea/modules/settingframework/VAVATvSettings.settingframework.main.iml
        modified:   .idea/modules/settingframework/VAVATvSettings.settingframework.unitTest.iml
        modified:   app/build.gradle
        modified:   local.properties

三、去掉临时文件的方法

3.1 添加.gitignore

文件 .gitignore内容如下 ,将需要排除的文件、文件夹添加进入

*.iml
.gradle
.idea
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
PS C:\Users\66176\Documents\works\mt9652\all_app\mtvsetting> git add .gitignore

3.2 删除临时文件缓存

如本案例,许多临时文件已经被提交到版本库,所以要将他们删除

PS C:\Users\66176\Documents\works\mt9652\all_app\mtvsetting> git rm -r --cached .gradle
PS C:\Users\66176\Documents\works\mt9652\all_app\mtvsetting> git rm -r --cached .idea
PS C:\Users\66176\Documents\works\mt9652\all_app\mtvsetting> git commit -m "add .gitignore"

可见删除打印/提交打印:

rm '.idea/.gitignore'
rm '.idea/.name'
……  省略 ……
rm '.idea/modules/settingframework/VAVATvSettings.settingframework.iml'
rm '.idea/modules/settingframework/VAVATvSettings.settingframework.main.iml'
rm '.idea/modules/settingframework/VAVATvSettings.settingframework.unitTest.iml'
rm '.idea/vcs.xml'
PS C:\Users\66176\Documents\works\mt9652\all_app\mtvsetting> git commit -m "add .gitignore"
[master_liebao d0ddbcc] add .gitignore
 112 files changed, 14 insertions(+), 2522 deletions(-)
 create mode 100644 .gitignore
……  省略 ……
 delete mode 100644 .idea/modules/settingframework/VAVATvSettings.settingframework.main.iml
 delete mode 100644 .idea/modules/settingframework/VAVATvSettings.settingframework.unitTest.iml
 delete mode 100644 .idea/vcs.xml
PS C:\Users\66176\Documents\works\mt9652\all_app\mtvsetting>

3.3 添加后的效果

PS C:\Users\66176\Documents\works\mt9652\all_app\mtvsetting> git status
On branch master_liebao
Your branch is ahead of 'origin/master_liebao' by 1 commit.
  (use "git push" to publish your local commits)

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   app/build.gradle
        modified:   gradle.properties

PS C:\Users\66176\Documents\works\mt9652\all_app\mtvsetting>

在这里插入图片描述

相关文章
|
2月前
|
安全 开发工具 git
git添加远程仓库报错To add an exception for this directory解决方案-优雅草卓伊凡
git添加远程仓库报错To add an exception for this directory解决方案-优雅草卓伊凡
266 5
git添加远程仓库报错To add an exception for this directory解决方案-优雅草卓伊凡
|
3月前
|
开发工具 git 开发者
Git版本管理常见文件提交流程讲解
以上就是Git常见文件提交流程概述。掌握此流程对于任何使用Git进行版本控制和协同工作项目团队成员都至关重要。
152 13
|
4月前
|
开发工具 git 开发者
Git流程控制:远程仓库操作的实用指南
通过遵循这些步骤和策略,你将能够更有效地与远程仓库进行交互,确保代码变更的透明度和项目历史的干净。同时,良好的版本控制习惯可以减少潜在的冲突,并帮助保持代码库的整洁。在日常工作中应用这些实用的Git流程控制技巧将是非常有益的。
170 0
|
7月前
|
网络安全 开发工具 git
Git仓库创建与代码上传指南
本教程介绍了将本地项目推送到远程Git仓库的完整流程,包括初始化本地仓库、添加和提交文件、创建远程仓库、关联远程地址及推送代码。同时,还提供了`.gitignore`配置、分支管理等可选步骤,并针对常见问题(如认证失败、分支不匹配、大文件处理及推送冲突)给出了解决方案。适合初学者快速上手Git版本控制。
|
8月前
|
Shell 开发工具 git
解决git bash报错:在仓库中检测到可疑的所有权
总的来说,解决“在仓库中检测到可疑的所有权”的报错,关键在于理解和调整文件或目录的所有权。只要我们正确地设置了文件或目录的所有权,那么我们就可以避免这种问题,让Git Bash正常工作。
293 22
|
6月前
|
安全 Shell 开发工具
Windows下使用git配置gitee远程仓库
就在前几天因为一些原因,我的电脑重装了系统,然后再重新配置git的环境的时候就遇到了一些小问题。所以我决定自己写一篇文章,以便以后再配置git时,避免一些错误操作,而导致全网搜方法,找对的文章去找对应的解决方法。下面为了演示方便就拿gitee来演示,不拿GitHub了写文章了。
285 0
|
3月前
|
开发工具 git
Git版本控制工具合并分支merge命令操作流程
通过以上步聚焦于技术性和操作层面指南(guidance), 可以有效管理项目版本控制(version control), 并促进团队协作(collaboration).
459 15
|
6月前
|
安全 开发工具 git
git的常用操作命令
git的常用操作命令
402 57
|
4月前
|
存储 缓存 开发工具
Git stash命令的详细使用说明及案例分析。
通过上述案例,我们看到stash命令能够在不丢失进度的情况下,帮助开发者临时切换开发上下文,这在处理多个任务或紧急bug时特别有用。正确使用Git stash可以大大提高开发的灵活性和效率。
1429 0
|
7月前
|
存储 项目管理 开发工具
Git常用命令及操作技巧
以上是Git的常用命令及操作技巧,尽管看起来有些繁琐,但实际上只要花费一些时间进行实践,您将很快熟练掌握。随着使用熟练度的提高,您会发现Git对项目管理和协同工作的强大帮助。
185 20