给git仓库添加.gitignore:清理删除排除被git误添加的临时文件(代码片段)

阿迷创客 阿迷创客     2023-03-24     217

关键词:

文章目录

一、前言

最近维护代码过程中,发现某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>

git设置文件或目录忽略跟踪的三种方式

1.共享的忽略设置方式 本地仓库根目录,创建.gitignore文件,并编辑正则匹配需要忽略的文件或目录。 .gitignore文件需要上传到仓库,同时会影响到他人,共享忽略设置 注意:  .gitignore只能忽略那些原来没有被track的文件... 查看详情

git正确的删除远程仓库的文件并用.gitignore忽略提交此文件

我向远程仓库提交了如下文件src/pom.xmltarget/WebContent/,发现没必要提交target目录。 于是做了如下操作:gitrm-r--cachedtargetgitcommit-m"deletetarget/"gitpushoriginmaster打开github看一下,target目录是不是没有提交了! 如果想把target目录... 查看详情

#git大文件清理

参考技术A结果在Git仓库彻底删除一个文件只有一种办法:重写(Rewrite)涉及该文件的所有提交。幸运的是借助gitfilter-branch便可以重写历史提交,当然这也是Git中最危险的操作。可以说比rm-rf*危险一万倍。此时我们使用查找大文... 查看详情

【学了就忘】git操作—56.忽略文件补充

...个文件到Git,但发现添加不了,原因可能是这个文件被.gitignore忽略了:如果你确实想添加该文件,可以用-f参数强制添加到Git本地版本库:关于-f参数,描述如下:-f,--force:Allowaddingotherwiseignoredfiles.允许添加被忽略的文件。或者... 查看详情

sh清理git仓库,删除未跟踪的文件等。(代码片段)

查看详情

sh清理git仓库,删除未跟踪的文件等。(代码片段)

查看详情

git设置.gitignore文件(代码片段)

.gitignore用来忽略某些git仓库中不需要上传到远程仓库的文件,例如target目录。下面说一下步骤。1.在项目根目录中通过右键GitBash,打开控制命令台,新建一个.gitignore,如图 2接着写上你要忽略的文件,保存后退出 3之后提... 查看详情

git详解——.gitignore

.gitignore——排除不想被管理的文件和目录 在Git中有一个特殊的文本文件:.gitignore。这个文本文件记录了所有你希望被Git忽略的目录和文件。 如果你是在GitHub上创建仓库,你可以在创建仓库的界面中就通过选项来让GitHub... 查看详情

.git/info/exclude 的对面 - 包括被 .gitignore 排除的文件

】.git/info/exclude的对面-包括被.gitignore排除的文件【英文标题】:Oppositeof.git/info/exclude-includingfilesthatareexcludedby.gitignore【发布时间】:2017-03-2921:31:48【问题描述】:有没有办法包含项目.gitignore文件特别排除的文件?与.git/info/exclud... 查看详情

idea设置不自动添加gitignore

...这个文件,本地在设置ignore将不起作用。所以一般是在.gitignore文件里面加入.idea/workspace.xml即可但是如果你这样做之前已经将此文件提交到了git远程仓库,那就需要执行以下命令了:gitrm-r--cached.idea 查看详情

git指令累计

1、添加忽略文件  在git根目录添加.gitignore文件,里面写出你要添加的文件(包括真实路径),然后把该文件添加到远程仓库里面,注意了,在使用gitadd时,不能直接用gitadd*,这样无法添加进去,因为git把.gitignore文件识别... 查看详情

git-.gitignore怎么忽略已经被版本控制的文件(代码片段)

...是说某个文件已经被版本控制了,如果将该文件添加到.gitignore中,是无法生效的。因为.gitignore是用来控制尚未被纳入版本控制的文件,如果文件已经存在于远程库中,自然也就无法生效了。于是就此衍生了一个问题:.gitignore怎... 查看详情

初学git,初始化库|添加文件ignore|提交方法

...前git库的状态。 如要排除文件,在库根目录下创建.gitignore文件(新建文件改名为:.gitignore.)即可创建。  在其中可用:*.type  !*out.type  folder/  a?b.type  *.cp[cod]  表示将会忽略 查看详情

git的基本使用

...有四种状态:以下为git中存在的,并在跟踪的创建本地.gitignore创建一个global.gitignore指定仓库排除参考Ignoringfiles这里遇到一个问题:当我不修改系统默认的提交信息时(或者只是换行不输入任何信息),然后关掉编辑器会出现提交... 查看详情

git常用命令手册

GitCheatSheetGitCheatSheet实用基本配置配置用户信息配置别名gitignore文件基本操作初始化添加文件到暂存区status仓库diff仓库提交更新移除文件查看提交记录撤销操作amend重新提交取消暂存文件add之后撤销对文件的修改add之前标签列出... 查看详情

您是不是忽略 .gitignore 中的 git 子模块或将其提交到您的仓库?

】您是不是忽略.gitignore中的git子模块或将其提交到您的仓库?【英文标题】:Doyouignoreagitsubmoduleinyour.gitignoreorcommitittoyourrepo?您是否忽略.gitignore中的git子模块或将其提交到您的仓库?【发布时间】:2011-12-1606:08:40【问题描述】:... 查看详情

如何删除git远程仓库项目的所有内容,重新提交所有内容

...一个项目到git并已经commit和push了所有内容,但是忘记搞gitignore文件,导致一些不想加入版本控制的文件,如IDE配置文件,编译文件,部署文件等,现在不知道怎么办了?试一试如下命令:首先配置好你的.gitignore文件,然后gitrm-r... 查看详情

git查看添加删除远程仓库(代码片段)

查看远程仓库gitremote-v删除远程仓库gitremoteremoveorigin添加远程仓库gitremoteaddorigin仓库地址 查看详情