要解决的问题

  1. 忽略指定类型的文件 或 某个指定文件(夹)
  2. 将已经push到github的文件删除, 但本地的文件不删除 (写忽略规则之前就把这个文件夹push了 T_T )

  3. 将想要忽略掉的文件的相关记录(如下图) 清理掉

    (包括保留本地文件和不保留两种情况)

解决方法

问题1 (忽略指定类型的文件 或 某个指定文件(夹))

本地仓库忽略

本地仓库的文件忽略规则可以在 .git/info/exclude 文件中添加. 对当前这个仓库下的所有文件起作用. 这些忽略的文件不会提交到共享库中, 因而不会被协作者所共享. 规则如下:

*.[oa] # 忽略以 o 或 a 为拓展名的文件
*~
*.exe
.* # 忽略所有以 . 开头的文件
test.cpp # 忽略这个文件
/test/ # 忽略 **根目录** 下的 test 文件夹里面所有的内容

(更多规则可以参考shell的正则表达式)

当前工作目录添加文件忽略

对于每一级工作目录, 创建一个.gitignore文件, 向该文件中添加要忽略的文件或目录. 规则同上

全局忽略

不需要在每一个仓库中添加 .gitignore 文件或者修改 exclude文件(毕竟在.git文件里乱动可能项目就没了), 只需要在用户账户文件夹下建立.gitignore_global文件就可以忽略我们想忽略的内容, 步骤如下:

  1. 在git bash下执行命令 git config --global core.excludesfile ~/.gitignore_global, 然后你会发现, ~/.gitconfig 文件里多了一行

  2. 创建 .gitignore_global 文件, 在里面写上规则就好了

问题2 (将已经push到github的文件删除, 但本地的文件不删除)

git rm -r --cached .vscode # 将文件夹从暂存区中删除
git commit -m 'delete .vscode config' # 将修改后的暂存区合并到HEAD中
git push origin master # 推到远端



顺便复习一下查看暂存区命令 git ls-files


问题3 (将想要忽略掉的文件的相关记录清理掉)

删除暂存区的文件, 同时删除本地的文件

git rm file_name # 删除本地文件, 同时也从暂存区中删除
git commit -m "delete" # 合并到HEAD中
git push origin master

提交删除记录

由于我已经手动将 .exe 文件删除, 所以只需要执行

git add -A
git commit -m "delete"
git push origin master



Reference List:

详解 git 忽略文件 删除远端仓库的文件的更多相关文章

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

    我向远程仓库提交了如下文件src/ pom.xml target/ WebContent/,发现没必要提交target目录. 于是做了如下操作: git rm -r --cached target g ...

  2. Git_添加、删除远端仓库中的文件

    一.将文件添加到远端仓库 1.新增文件 2.使用git add 将文件添加到本地缓存中 3.使用git commit 将文件添加到本地仓库中 4.使用git push 将本地仓库中的修改同步到远端仓库 ...

  3. Git 向远端仓库推文件

    第一次推送: 1.git init (创建本地仓库) 2. git remote add origin <远端仓库地址> (与远端仓库建立链接) 3.git checkout -b < ...

  4. Windows系统Git安装教程(详解Git安装过程)

    Windows系统Git安装教程(详解Git安装过程)   今天更换电脑系统,需要重新安装Git,正好做个记录,希望对第一次使用的博友能有所帮助! 获取Git安装程序   到Git官网下载,网站地址: ...

  5. linux dd命令参数及用法详解---用指定大小的块拷贝一个文件(也可整盘备份)

    linux dd命令参数及用法详解---用指定大小的块拷贝一个文件 日期:2010-06-14 点击:3830 来源: 未知 分享至:            linux dd命令使用详解 dd 的主要 ...

  6. git查看添加删除远程仓库

    查看远程仓库 git remote -v 删除远程仓库 git remote remove origin 添加远程仓库 git remote add origin 仓库地址 关联远程分支 重新关联远程 ...

  7. [转帖]XCopy复制文件夹命令及参数详解以及xcopy拷贝目录并排除特定文件

    XCopy复制文件夹命令及参数详解以及xcopy拷贝目录并排除特定文件 https://www.cnblogs.com/smartsmile/p/7665979.html xcopy dirA dir ...

  8. Redis详解(四)——删除策略

    Redis详解(四)--删除策略 Redis中的数据特征 Redis是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令来获取其状态,当 key 不存在时,返回 -2 . 当 k ...

  9. Git与GitHub学习笔记(三).gitignore文件忽略和删除本地以及远程文件

    一.Git提供了文件忽略功能.当对工作区某个目录或者某些文件设置了忽略后,git将不会对它们进行追踪 HELP:如何在IntelliJ IDEA中使用.ignore插件忽略不必要提交的文件 问题:最近 ...

随机推荐

  1. Git小技巧之使用Rebase命令合并提交

    想要获取更多文章可以访问我的博客 - 代码无止境. 在日常的开发过程中,我们一个功能可能会有很多次提交.而且我们公司的开发是不允许直接往公司仓库提交代码,所以需要fork到自己的仓库然后merge过去 ...

  2. redis源码笔记-内存管理zmalloc.c

    redis的内存分配主要就是对malloc和free进行了一层简单的封装.具体的实现在zmalloc.h和zmalloc.c中.本文将对redis的内存管理相关几个比较重要的函数做逐一的介绍 参考: ...

  3. C# 创建Windows服务demo

    一.准备工作 1.操作系统:Windows 10 X64 2.开发环境:VS2017 3.编程语言:C# 4. .NET版本:.NET Framework 4.5 二.创建Windows Servic ...

  4. 3.秋招复习简单整理之List、Map、Set三个接口存取元素时,各有什么特点?

    List.Set都是单列元素的集合,它们有共同的父接口Collection. List存取有序可重复元素 存元素:调用add方法,存的元素先来后到,有顺序,当然也可以插队,指定存在某个位置,调用add ...

  5. C++学习书籍推荐《C++编程思想第二版第二卷》下载

    百度云及其他网盘下载地址:点我 编辑推荐 “经典原版书库”是响应教育部提出的使用原版国外教材的号召,为国内高校的计算机教学度身订造的.<C++编程思想>(英文版第2版)是书库中的一本,在广 ...

  6. C# Linq 笛卡尔积

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  7. [原创]wireshark&xterm安装、配置和使用

    --wireshark && xterm--一.安装wireshark: #apt-get install wireshark二.启动wireshark: #wireshark 或者 ...

  8. Sublime Text 3 实现C++代码的编译和运行

    在数据结构代码的编写中,我选用了优秀的编辑器 Sublime Text 3,但是在实现C++代码的编译和运行上费了一番周折,接下来我贴出 C++ 编译系统的代码,供各位参考. 编译后是在弹出的CMD命 ...

  9. 查看http请求的header信息

    1 下载chrome浏览器 chrome浏览器是google开发的一块非常绑定浏览器.chrome浏览器下载地址. 2 通过chrome控制台查看http请求的header信息 2.1 打开chrom ...

  10. UVA1152- 枚举 /二分查找

    The SUM problem can be formulated as follows: given four lists A,B,C,D of integer values, compute ho ...