撸了今年阿里、头条和美团的面试,我有一个重要发现.......>>>

Git 忽略规则匹配语法

在 .gitignore 文件中,每一行的忽略规则的语法如下:

  • 空格不匹配任意文件,可作为分隔符,可用反斜杠转义
  • # 开头的模式标识注释,可以使用反斜杠进行转义
  • ! 开头的模式标识否定,该文件将会再次被包含,如果排除了该文件的父级目录,则使用 ! 也不会再次被包含。可以使用反斜杠进行转义
  • / 结束的模式只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件
  • / 开始的模式匹配项目跟目录
  • 如果一个模式不包含斜杠,则它匹配相对于当前 .gitignore 文件路径的内容,如果该模式不在 .gitignore 文件中,则相对于项目根目录
  • **匹配多级目录,可在开始,中间,结束
  • ?通用匹配单个字符
  • []通用匹配单个字符列表

常用匹配示例:

  • bin/: 忽略当前路径下的bin文件夹,该文件夹下的所有内容都会被忽略,不忽略 bin 文件
  • /bin: 忽略根目录下的bin文件
  • /*.c: 忽略 cat.c,不忽略 build/cat.c
  • debug/*.obj: 忽略 debug/io.obj,不忽略 debug/common/io.obj 和 tools/debug/io.obj
  • **/foo: 忽略/foo, a/foo, a/b/foo等
  • a/**/b: 忽略a/b, a/x/b, a/x/y/b等
  • !/bin/run.sh: 不忽略 bin 目录下的 run.sh 文件
  • *.log: 忽略所有 .log 文件
  • config.php: 忽略当前路径的 config.php 文件

.gitignore规则不生效

.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。

解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:

git rm -r --cached .
git add .
git commit -m 'update .gitignore'

Git 忽略提交 .gitignore相关推荐

  1. Git 忽略提交 .gitignore模板

    详细规则解释可参考此文

  2. [转]Git忽略提交规则 - .gitignore配置运维总结

    在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交.简单来说一个场景:在你使用git add .的时候,遇到 ...

  3. Git忽略提交规则 - .gitignore配置运维总结

    在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交.简单来说一个场景:在你使用git add .的时候,遇到 ...

  4. VSCode中使用Git忽略提交代码设置

    转载自:VSCode中使用Git忽略提交代码设置_winsomeWin的博客-CSDN博客 在VSCode中使用Git的时候如何忽略某些文件. 文件-> 首选项->设置:扩展–>Gi ...

  5. git 忽略文件 .gitignore 以及规则

    git提供了文件忽略系统,当对工作区某个目录或文件设置了忽略后,在执行status查看状态时,被忽略的文件即使存在也不会显示出来. 这样我就可以把那些不需要上传,不需要保留的文件或目录忽略掉(比如一些 ...

  6. Git忽略规则.gitignore梳理

    对于经常使用Git的朋友来说,.gitignore配置一定不会陌生.废话不说多了,接下来就来说说这个.gitignore的使用.首先要强调一点,这个文件的完整文件名就是".gitignore ...

  7. .gitignore文件_Java小白入门,Git忽略文件.gitignore详解

    在工程中,并不是所有文件都需要保存到版本库中的,例如"target"目录及目录下的文件就可以忽略.在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件 ...

  8. Git忽略文件.gitignore详解

    文章目录 Git 忽略规则优先级 Git 忽略规则匹配语法 常用匹配示例 .gitignore规则不生效 Java项目中常用的.gitignore文件 在工程中,并不是所有文件都需要保存到版本库中的, ...

  9. Git忽略文件.gitignore规则详解

    在工程中,并不是所有文件都需要保存到版本库中的,例如"target"目录及目录下的文件就可以忽略.在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件 ...

最新文章

  1. 报名 | 清华医工科研服务平台发布会暨医工结合科研基金成立大会
  2. 【IOS 开发】基本 UI 控件详解 (UISegmentedControl | UIImageView | UIProgressView | UISlider | UIAlertView )
  3. Flask 模型操作
  4. 局部敏感哈希Locality Sensitive Hashing归总
  5. [云炬创业管理笔记]第一章测试3
  6. JavaWeb学习之路——SSM框架之Mybatis(二)
  7. centOS6.5如何从启动界面直接进入命令行界面和如何从图形界面进入命令行界面
  8. 必须理解的分布式系统中雷同的集群技术及原理
  9. mysql 8 免安装版 下载及配置
  10. BootstrapTable入门Demo
  11. 【hue】 hue+sentry界面没有添加角色的按钮
  12. ad16不能去除铺铜_海水小讲堂006 铜离子的正确使用姿势
  13. 华为员工利用Bug越权访问机密卖给第三方,获利1.6万元,被判有期徒刑一年...
  14. learn go function callback
  15. 株洲市码高机器人编程_码高机器人教育
  16. keil报错:*** FATAL ERROR L250,注册2032年
  17. git报错would clobber existing tag
  18. atq1_使用at,atq,atrm和batchLinux调度命令示例
  19. JAVA Web day01--- Android小白的第一天学习笔记
  20. 关于统信UOS操作系统版本介绍

热门文章

  1. postman模拟文件上传接口
  2. postman发送post请求,服务器日志确保GET请求错误“ PageNotFound:208 Request method ‘GET‘ not supported”
  3. crontab wget命令定时执行thinkphp的控制器实现定时任务
  4. 反思读别人代码的思路
  5. PHP的查找stripos strpos strripos strpos
  6. PHP RSA2加密和解密以及接口签名和验签
  7. $(function(){})和$(document).ready(function(){})
  8. java bmp rgb数组_将RGB数据写入BMP位图文件
  9. 安卓application_阿里面试官刁钻连问:安卓 UID的分配、查看及相关知识
  10. linux清除网卡记录,linux 清除驱动对网卡的记录