简介

有些时候,你必须把某些文件放到 Git 工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件、Java编译生成的.class文件。处理这个需求很简单,从不git add它们就可以。但这样处理,每次git status时都会出现Untracked files,很不爽。

这时候就轮到.gitignore文件出场了。我们可以在仓库根目录创建.gitignore文件,在文件中添加不希望git追踪的文件路径,比如:

# window下自定义文件图标后,自动生成的文件
desktop.ini

再比如:

# IDE idea 和 VS Code的配置文件目录
.idea/
.vscode/

特殊符号

符号 作用
# 注释
恢复追踪
? any one character except /
* anything except /
空格 多余的空格会被忽略,如果pattern中的空格不能忽略,用\括起来
转移字符 上面的符号如果出现在要匹配的文件或目录名中,要用\转移后才能匹配,比如\!important!.txt

注意

//*

/忽略整个目录;/*只忽略目录里的文件,但git仍然追踪这个目录

!

如果文件所在的目录被忽略了,这个文件无法恢复追踪;

  • # 目标: 不追踪doc目录下的所有文件和目录,除了doc/text.txt
    # 正确写法
    /doc/*
    !doc/text.txt # 错误写法
    # 原因 :doc目录被忽略了,文件无法恢复追踪
    /doc/
    !doc/text.txt

恢复时,要注意必须先恢复最上层

  • # 目标 : 只追踪doc/123.txt文件
    
    # 正确写法
    /*
    !/doc/
    /doc/*
    !/doc/123.txt # 错误写法
    # 原因 : 这个文件所在目录doc被忽略了,这个文件因为无法恢复追踪
    /*
    !/doc/123.txt

***

**可以用来匹配多层目录

  • # 只能匹配a的二级子目录的b, 比如a/x/b
    /a/*/b
    # 可以匹配a的任意级子目录的b,比如a/b, a/x/b, a/x/y/b ...
    /a/**/b

常用配置

官方配置

Github有提供一些.gitignore的常用模板

本人配置

自己的SpringBoot项目配置

# 只追踪 源码目录、maven配置文件、README
/*
!/src/
!pom.xml
!README.md # 源码目录中忽略的文件
# 测试文件,暂时没做测试,忽略
/src/test
# 包含敏感数据的文件
/src/main/resources/application.properties
/src/main/resources/mybatis-generator.xml

.gitignore文件详细说明的更多相关文章

  1. .gitignore 文件列表

    GitHub 有一个十分详细的针对数十种项目及语言的 .gitignore 文件列表,你可以在https://github.com/github/gitignore 找到它.

  2. git知识总结-3.gitignore文件说明

    1.前言 一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表. 通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等. 在这种情况下,我们可以创建一个名 ...

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

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

  4. .gitignore文件作用

    目录 一.简介 二.常用规则 三.详细 一.简介 一般来说每个Git项目中都需要一个.gitignore文件,这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中. 意思就是本地修改完项目后,上 ...

  5. 关于gitignore文件的创建与使用

    在我们使用github提交本地代码时,有些库文件和日志文件是不必要提交的,那如何处理这个问题呢?这个时候我们就会用到.gitignore文件了. 该篇博客我会介绍如何创建.gitignore,以及如何 ...

  6. 编写.gitignore文件的几个小技巧

    记录几个编写.gitignore文件的小技巧,可能你早就知道了,但我是google了一番才找到写法. 忽略所有名称为bin的文件夹 bin/ 只忽略第一级目录中,名称为bin的文件夹 /bin/ 忽略 ...

  7. Git的.gitignore文件配置

    .gitignore是Git工具的配置文件,用于屏蔽某些文件上传到线上. 创建.gitignore 在window系统中,不允许新建文件名以"."开头的文件,所以通过git bas ...

  8. git之.gitignore文件用途

    gitignore文件用于忽略无需追踪的文件. 配置文件: $HOME/.config/git/ignore, $GIT_DIR/info/exclude, .gitignore 举例说明: $ gi ...

  9. GitHub的.gitignore文件设置

    用Eclipse连接GitHub 在本地仓库(最上层文件夹)建立.gitignore文件后,所有子文件夹下对应文件或者文件夹在submit的时候就会被忽略. 我将Eclipse的workspace当作 ...

随机推荐

  1. css3 文字处理

    text-overflow:ellipsis;超出的文字显示...前提是该盒子必须有overflow:hidden;属性 text-shadow 文字阴影 direction:控制文字方向,值有dow ...

  2. 09 基于模块wsgiref版web框架

    09 基于模块wsgiref版web框架 模块引入 真实开发中的python web程序,一般会分为两部分:       服务器程序:负责对socket服务器进行封装,并在请求到来时,对请求的各种数据 ...

  3. ThreadLocal必知必会

    前言 自从被各大互联网公司的"造火箭"级面试难度吊打之后,痛定思痛,遂收拾心神,从基础的知识点开始展开地毯式学习.每一个非天才程序猿都有一个对35岁的恐惧,而消除恐惧最好的方式就是 ...

  4. 杨辉三角(hdu2032)——有待完善

    思考:杨辉三角形 #include<stdio.h> #include<cstring> int main() { int n; char d; ][] = {}; while ...

  5. mysql 赋权语句

    grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';

  6. wordpress批量修改域名SQL

    UPDATE wow_options SET option_value = REPLACE(option_value, 'https://wooooooow.cn' ,'http://wooooooo ...

  7. Istio VirtualService 虚拟服务

    概念及示例 VirtualService 描述了一个或多个用户可寻址目标到网格内实际工作负载之间的映射 . 虚拟服务让您配置如何在服务网格内将请求路由到服务,这基于 Istio 和平台提供的基本的连通 ...

  8. C# 7.0 新增功能&结合微软简化理解

    C# 7.0更新时间为2019.2左右 C# 7.0 ~ 7.3 分别需要VS2017 与 .NET Core 1.0. .NET Core 2.0 SDK..NET Core 2.1 SDK,需要在 ...

  9. 【C++】常见易犯错误之数值类型取值溢出与截断(3)

    0.  前言 本节是“[C++]常见易犯错误之数值类型取值溢出与截断(1)” 的补充,主要探讨浮点型的取值溢出. 1. 相关知识 (1) 浮点型数据取值范围如下: 单精度型 float 3.4 * 1 ...

  10. upload-labs通关手册

    最近在练习文件上传,所以记录一下自己练习的过程,既能帮助自己以后复习,同时也能帮到初学者. 主要用到的工具是Burpsuite.首先我们应该明白上传文件的目的是什么,通过上传文件将web后门上传并被成 ...