Git ignore文件如何编写 Jan 10 2025 笔记 0 comment 在使用远程仓库的项目中,往往有一些文件夹或文件不需要被追踪文件状态,如`node_modules`、`dist` 、`.idea`、`.vscode`等。 .gitignore文件就是用来解决这个问题的,这个文件通过一行行的规则来匹配忽略目标文件或文件夹。 ### 1. 语法 以”#”号开头表示注释; 以斜杠“/”开头表示目录; 以星号“*”通配多个字符,匹配斜线以外的任何字符; 以问号“?”通配单个字符,匹配除 "/" 以外的任何一个字符; 以方括号“[]”包含单个字符的匹配列表; 以叹号“!”表示不忽略(跟踪)匹配到的文件或目录; > 注意: > > `/`在文件夹名前,表示根目录下的某个文件夹,/test/表示忽略根目录下的/test/目录的全部内容,而test/表示忽略文件夹test下的全部内容,不管是根目录下的/test/,还是某个子目录下的test文件夹,比如:/child/test,都会被忽略 ### 2. 规则 1.1 已经被追踪的文件或文件夹,即使添加相应的规则,也不会被忽略,需要手动删除。要停止跟踪当前已被跟踪的文件,可使用 *git rm --cached* 从索引中移除该文件。文件名随后会被添加到 `.gitignore` 文件中,以防止该文件在以后的提交中被重新引入。 1.2 忽略规则存在覆盖情况,如果第一行范围较小,而后面的行范围较大,那么前面的规则将会被后面的规则覆盖。 1.3 .ignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效 ### 3. 示例 创建示例文件结构项目 ~~~shell C:. │ .gitignore │ c.txt │ f.txt │ g.md │ ├───.idea │ .gitignore │ ignore.iml │ modules.xml │ vcs.xml │ workspace.xml │ ├───dist │ │ a.txt │ │ b.txt │ │ c.md │ │ │ └───cf │ t.rust │ └───src │ a.txt │ c.txt │ e.md │ f.txt │ └───dist a.txt c.txt d.md ~~~ 编写.gitignore文件内容gitignore /dist #忽略dist文件夹下的所有文件,包括更深层的文件夹 /**/a.txt #忽略所有文件夹下的a.txt文件,**匹配任一级目录,如/a/a.txt、/a/b/c/apifox.txt等 *.md #忽略所有后缀为.md的文件 f.txt #忽略所有的f.txt文件 src/**/c.txt #忽略src文件夹下的任意层级子文件夹下的c.txt文件 ``` 只有根目录下的c.txt未包含在忽略规则内:  本文由 yuin 创作,本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。