千家信息网

Git之忽略文件

发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,这篇文章主要介绍Git之忽略文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!我们知道,一些缓存文件、编辑器产生的文件等其他的文件,我们是不希望纳入版本库的。但如果每次git
千家信息网最后更新 2024年11月14日Git之忽略文件

这篇文章主要介绍Git之忽略文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

我们知道,一些缓存文件、编辑器产生的文件等其他的文件,我们是不希望纳入版本库的。但如果每次git add 文件名,一个个敲下去,这实在是个非常烦人的操作,容易让人奔溃。还是使用git add .爽!那我们有没有办法忽略一些我们不希望纳入版本库的文件呢?答案是有的,可以使用.gitignore,在该文件里设置想要忽略的那些文件。然后使用git add .这些文件也不会被提交了。

比如,我不想将swp文件纳入版本库,以及不需要runtime这个文件夹,那么就可以这样设置

$ vim .gitignore# 忽略swp文件*.swp# 忽略runtime文件夹/runtime/

下面来说说.gitignore使用规范

  • git会忽略以#开头以及空白的行

  • 可以使用glob正则,它会递归到每个目录(如果没有指定防止递归的话)

  • 可以以/开头,来防止递归

  • 可以以/结尾,来指明目录

  • 可以使用!来方向选择。

!常见的用法是,我们想忽略掉一个文件夹,但文件夹里index.html保留。那么

/data/!/data/index.html

表示忽略/data文件夹但是跟踪/data/index.html文件。

下面讲讲什么是glob正则,其实它是一种简化版的正则。

它使用*来匹配0个或多个任意字符。比如

*.php 表示匹配以.php结尾的文件tmp* 表示匹配以tmp开头的所有文件

使用?来匹配一个任意字符,如

周?伦

使用[]来匹配[]里的任意一个字符,如

[abc] 表示匹配abc其中任意一个

另外,多个字符是连续的话,可以使用-来代替,如

[0-9] 表示匹配任意数字

使用两个星号(**)表示匹配任意中间目录

比如 a/**/z 可以匹配 a/z 、 a/b/z 或 a/b/c/z 等。

下面我们以一个例子来讲解忽略文件的用法,一般的,我们会忽略/vendor目录,配置文件,日志文件夹/log,缓存文件等。

# 忽略swp文件*.swp# 忽略/vendor文件夹/vendor/# 忽略配置文件/app/config/config.php# 忽略/log文件夹/log/# 忽略缓存文件夹/runtime/

上面所说就是如何去忽略那些不想加入到版本库的文件,一般建议是开始阶段就配置好该文件,防止提交不需要的文件。

以上是"Git之忽略文件"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

0