首页 > 学院 > 操作系统 > 正文

git忽略文件方法

2024-06-28 16:01:00
字体:
来源:转载
供稿:网友

本文参考Git 上传忽略文件设置 .ignore exclude和Git忽略文件在此表示感谢。

在git的repo中,有一些无用的log文件,或者备份文件,没事status都会显示,很麻烦。这里完整的介绍两种方法,欢迎斧正。


方法一. 使用exclude方法

exclude文件的路径是repo的.git/info/exclude。这个文件是git系统的文件,不会被上传到git服务器,并且是对当前repo有效的,是一种全局方法。具体步骤如下:

打开文件。文件内容如下图:

这里写图片描述

在文件末尾添加忽略文件。(使用标准的 glob 模式匹配忽略文件,这是一种简化的正则命令)。 比如,我想忽略所有的txt文件,那么在exclude的末尾添加如下内容。

这里写图片描述

添加test.txt,使用git status去测试发现没有test.txt文件需要添加! 如下:

这里写图片描述

方法二. 使用.gitignore文件

gitignore文件是自己新建的,不是git自带的。这个文件会被git status检测到,会被上传到git服务器。方法步骤和方法一相同。这里不在赘述。

glob命令

所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。 所有空行或者以注释符号 # 开头的行都会被 Git 忽略。可以使用标准的 glob 模式匹配。匹配模式最后跟反斜杠(/)说明要忽略的是目录。要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。星号(*)匹配零个或多个任意字符;[abc] 匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);问号(?)只匹配一个任意字符;如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如[0-9]表示匹配所有 0 到 9 的数字)。

方法不起作用

这是因为在创建这个规则前,你已经git status过了,这些文件已经被list过了,存在git的cache中,需要使用如下命令:git rm --cached filenamegit commit -m
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表