您的位置 首页 技术

版本控制工具Git——忽略文件

我们知道,一些缓存文件、编辑器产生的文件等其他的文件,我们是不希望纳入版本库的。但如果每次git add 文件名,一个个敲下去,这实在是个非常烦人的操作,容易让人奔溃。还是使用gi…

我们知道,一些缓存文件、编辑器产生的文件等其他的文件,我们是不希望纳入版本库的。但如果每次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——忽略文件的详细内容,更多请关注24课堂在线网其它相关文章!

本文来自网络,不代表24小时课堂在线立场,转载请注明出处:https://www.24ketang.cn/80268.html

为您推荐

返回顶部