通过QT自动生成的gitignore文件来说明用法

下面是QtCreator自动生成的gitignore原始文件,通过这个文件来说明gitignore的通配符的用法

其实这个文件用到的知识点只有下面几个:

  • #开头的部分表示注释

  • *~表示忽略所有以~结尾的文件

  • *匹配所有的字符0次或者多次

  • core 表示忽略core文件和文件夹

    !core/ 取消忽略core文件加(因此这两行表示只忽略core文件,不忽略core文件夹)

    This file is used to ignore files which are generated

    ----------------------------------------------------------------------------

    *~
    *.autosave
    *.a
    *.core
    *.moc
    *.o
    *.obj
    *.orig
    *.rej
    .so
    .so.
    pch.h.cpp
    resource.rc
    .qm
    .#

    .#
    core
    !core/
    tags
    .DS_Store
    .directory
    .debug
    Makefile

    *.prl
    *.app
    moc
    .cpp
    ui
    .h
    qrc_
    .cpp
    Thumbs.db
    *.res
    *.rc
    /.qmake.cache
    /.qmake.stash

    qtcreator generated files

    .pro.user
    CMakeLists.txt.user*

    xemacs temporary files

    *.flc

    Vim temporary files

    .*.swp

    Visual Studio generated files

    *.ib_pdb_index
    *.idb
    *.ilk
    *.pdb
    *.sln
    *.suo
    .vcproj
    vcproj..
    .user
    *.ncb
    *.sdf
    *.opensdf
    *.vcxproj
    vcxproj.

    MinGW generated files

    *.Debug
    *.Release

    Python byte code

    *.pyc

    Binaries

    --------

    *.dll
    *.exe

再补充一些查到的

  • *表示忽略所有
  • */表示忽略所有目录
  • 1.txt: 忽略任意目录(当前目录即根目录及其子文件夹)下的1.txt的文件夹或同名文件,例如1.txt,/pojo/1.txt,/pojo/a/1.txt,若是文件夹则该文件夹下的所有内容都会被忽略。
  • *.txt: 忽略任意目录(当前目录即根目录及其子文件夹)下的所有以.txt结尾的文件夹或文件,若是文件夹则该文件夹下的所有内容都会被忽略。
  • /1.txt:忽略根路径下的1.txt的文件夹或同名文件,若是文件夹则该文件夹下的所有内容都会被忽略。
  • /*.txt: 忽略根路径下的所有以.txt结尾的文件夹或文件,若是文件夹则该文件夹下的所有内容都会被忽略,不忽略 /pojo/1.txt。
  • pojo/: 忽略目录 pojo下的全部内容;注意,不管是根目录下的/pojo/目录,还是某个目录下的/child/pojo/,以及pojo文件夹里面的全部内容都会被忽略,同时忽略pojo文件夹,以pojo命名的文件不会忽略。
  • pojo/*:忽略当前路径下pojo文件夹下的全部内容,pojo文件夹不忽略。
  • **/pojo: 忽略任意目录下的pojo文件夹或同名文件,若是文件夹则该文件夹下的所有内容都会被忽略。/pojo,/pojo/1.txt,/a/pojo,/a/pojo/1.txt,a/b/pojo等。
  • a/**/b: 忽略当前路径下的以a文件夹为开始,中间可以有0个或任意个目录的b文件夹或同名文件,若是文件夹则该文件夹下的所有内容都会被忽略,a/b,a/x/b,a/x/y/b,a/x/y/b/1.txt等。
  • /pojo/*和!/pojo/1.txt: 忽略pojo目录下的所有文件但不忽略pojo目录下的1.txt文件,pojo文件夹不忽略。
    注意上面的/pojo/*不能写为/pojo/,否则父目录被前面的规则排除掉了,1.txt文件虽然加了!过滤规则,也不会生效!
相关推荐
码界筑梦坊几秒前
131-基于Flask的美国新泽西州自动售货机销售数据可视化分析系统
开发语言·python·信息可视化·数据分析·flask·毕业设计
努力努力再努力wz2 分钟前
【QT入门系列】QWidget 六大常用属性详解:windowOpacity、cursor、font、focus、toolTip 与 styleSheet
android·开发语言·数据结构·c++·qt·mysql·算法
神仙别闹4 分钟前
基于MFC(C++)实现(界面)学委作业管理系统
开发语言·c++·mfc
三品吉他手会点灯4 分钟前
C语言学习笔记 - 41.数据类型 - scanf函数核心知识点复习
c语言·开发语言·笔记·学习
撩得Android一次心动5 分钟前
C语言基础笔记3【个人用】
android·c语言·开发语言·笔记
薇茗10 分钟前
【初阶数据结构】 升沉有序的平仄 排序 3
c语言·开发语言·数据结构·算法·排序算法·文件归并排序
字节高级特工12 分钟前
C++11(一) 革新:右值引用与移动语义
java·开发语言·c++·人工智能·后端
AI科技星17 分钟前
强哥德巴赫猜想(1+1)终极证明(2026 年5月 21 日)
开发语言·人工智能·算法·计算机视觉·量子计算
故事和你9122 分钟前
洛谷-【图论2-4】连通性问题2
开发语言·数据结构·c++·算法·动态规划·图论
Brilliantwxx23 分钟前
【C++】 二叉搜索树
开发语言·c++·算法