.gitignore文件作用及使用方法是什么

其他教程   发布日期:2023年07月31日   浏览次数:464

这篇文章主要介绍“.gitignore文件作用及使用方法是什么”,在日常操作中,相信很多人在.gitignore文件作用及使用方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”.gitignore文件作用及使用方法是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

    正文

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

    1. git add
    ,太麻烦了。

    为了解决这个问题,Git里面有一个

    1. .gitignore
    文件。可以指定Git需要忽略哪些文件。配置好之后,Git就会自动忽略满足配置的文件。这样,我们就可以尽情的使用
    1. git add .
    来添加文件了。

    Git 忽略规则优先级

    1. .gitingore
    文件中,每一行指定一个忽略规则,Git 检查忽略规则的时候有多个来源,它的优先级如下(由高到低):
    • 从命令行中读取可用的忽略规则

    • 当前目录定义的规则

    • 父级目录定义的规则,依次递推

      1. $GIT_DIR/info/exclude
      文件中定义的规则
      1. core.excludesfile
      中定义的全局规则

    Git 忽略规则匹配语法

    1. .gitignore
    文件中,每一行的忽略规则的语法如下:
    • 空格不匹配任意文件,可作为分隔符,可用反斜杠转义

    • 开头的文件标识注释,可以使用反斜杠进行转义

      1. !
      开头的模式标识否定,该文件将会再次被包含,如果排除了该文件的父级目录,则使用
      1. !
      也不会再次被包含。可以使用反斜杠进行转义
      1. /
      结束的模式只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件
      1. /
      开始的模式匹配项目跟目录
    • 如果一个模式不包含斜杠,则它匹配相对于当前

      1. .gitignore
      文件路径的内容,如果该模式不在
      1. .gitignore
      文件中,则相对于项目根目录
      1. **
      匹配多级目录,可在开始,中间,结束
      1. ?
      通用匹配单个字符
      1. *
      通用匹配零个或多个字符
      1. []
      通用匹配单个字符列表

    匹配示例

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

    特殊情况

    文件已经提交过

    这里面有一些特殊情况需要考虑,比如某文件已经被提交过了,之后再对他做了一个

    1. .gitignore
    的忽略的话。忽略是不会生效的,需要我们手动先将缓存删除。
    1. # 删除本地的缓存
    2. git rm -r --cached .
    3. # 重新提交
    4. git commit -am 'gitignore'

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

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

    1. # 强制添加
    2. git add -f 文件A/xxx.js
    3. # 正常提交
    4. git commit -am 'xxx'

    检查文件为什么被忽略

    由于

    1. .gitignore
    文件经常会配置很多内容,某些文件你并不能很直观的知道为什么被忽略了。所以Git提供了一个检查忽略的命令。
    1. git check-ignore -v 文件夹A/xxx.js

    以上就是.gitignore文件作用及使用方法是什么的详细内容,更多关于.gitignore文件作用及使用方法是什么的资料请关注九品源码其它相关文章!