.gitignore文件作用及使用方法详解

2023-12-07 0 386
目录
  • 正文
  • Git 忽略规则优先级
  • Git 忽略规则匹配语法
  • 匹配示例
  • 特殊情况
    • 文件已经提交过
    • 添加一个已经配置忽略的文件
  • 检查文件为什么被忽略
    • gitignore建议

      正文

      在本地的代码目录中,有些文件或者目录我们并不想提交到仓库中,比如一些运行日志等文件。这样的话,我们提交代码时,就只能一个一个文件去git add,太麻烦了。

      为了解决这个问题,Git里面有一个.gitignore文件。可以指定Git需要忽略哪些文件。配置好之后,Git就会自动忽略满足配置的文件。这样,我们就可以尽情的使用git add .来添加文件了。

      Git 忽略规则优先级

      在 .gitingore 文件中,每一行指定一个忽略规则,Git 检查忽略规则的时候有多个来源,它的优先级如下(由高到低):

      • 从命令行中读取可用的忽略规则
      • 当前目录定义的规则
      • 父级目录定义的规则,依次递推
      • $GIT_DIR/info/exclude 文件中定义的规则
      • core.excludesfile中定义的全局规则

      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的忽略的话。忽略是不会生效的,需要我们手动先将缓存删除。

      # 删除本地的缓存
      git rm -r –cached .
      # 重新提交
      git commit -am \’gitignore\’

      添加一个已经配置忽略的文件

      再比如,我们忽略了文件夹A,但是现在要往文件夹A中添加代码文件。你会发现你没法把文件夹A中的代码提交。因为文件夹A被忽略了。

      # 强制添加
      git add -f 文件A/xxx.js
      # 正常提交
      git commit -am \’xxx\’

      检查文件为什么被忽略

      由于.gitignore文件经常会配置很多内容,某些文件你并不能很直观的知道为什么被忽略了。所以Git提供了一个检查忽略的命令。

      git check-ignore -v 文件夹A/xxx.js

      gitignore建议

      最后,提供一个网上整理的关于不同开发语言项目的.gitignore文件内容的建议:github.com/github/giti…

      以上就是.gitignore文件作用及使用方法详解的详细内容,更多关于.gitignore文件的资料请关注悠久资源网其它相关文章!

      您可能感兴趣的文章:

      • 使用.gitignore文件简化Git仓库管理
      • Git中使用.gitignore忽略文件的推送方式
      • 协同开发巧用gitignore中间件避免网络请求携带登录信息
      • Git编辑.gitignore文件并使其生效问题

      收藏 (0) 打赏

      感谢您的支持,我会继续努力的!

      打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
      点赞 (0)

      悠久资源 编程技巧 .gitignore文件作用及使用方法详解 https://www.u-9.cn/biancheng/jiqiao/126498.html

      常见问题

      相关文章

      发表评论
      暂无评论
      官方客服团队

      为您解决烦忧 - 24小时在线 专业服务