026_gitignore
Git 忽略文件的规则
语法
.gitignore
文件是用来告诉 Git 哪些文件或目录在版本控制中应该被忽略的。这对于排除编译生成的文件、临时文件、日志文件以及敏感数据等非常有用。下面是一些编写 .gitignore
文件的基本规则和示例:
文件名匹配规则:
*
:匹配零个或多个字符。?
:匹配任意一个字符。[]
:匹配方括号内的任意一个字符。!
:在模式前加上感叹号表示取反,即排除匹配的文件或目录。
注释:以
#
开头的行表示注释,Git 会忽略这些行。示例:
忽略所有
.a
文件:1
*.a
但是跟踪
lib.a
,即使在忽略.a
文件的规则下:1
!lib.a
忽略所有以
.o
结尾的文件:1
*.o
忽略所有以
~
结尾的临时文件:1
*~
忽略
TODO
文件:1
TODO
忽略
build/
目录下的所有文件:1
build/
忽略
doc/notes.txt
文件,但不包括doc/server/arch.txt
文件:1
doc/notes.txt
忽略
doc/
目录下的.pdf
文件:1
doc/*.pdf
忽略
doc/
目录下的所有.pdf
文件:1
doc/**/*.pdf
Tips
取消忽略后无效果
如果上述 .gitignore
规则没有达到预期效果,可以尝试更具体的忽略和取消忽略规则。在 .gitignore
文件中,顺序和具体路径可能会影响规则的应用。以下是调整后的版本,确保首先取消忽略特定的文件夹,然后忽略一般的文件夹:
1 | # 取消忽略以 hexo-theme- 开头的文件夹 |
另外,请确保这些文件夹已经被 Git 跟踪(即它们之前没有被忽略)。如果这些文件夹之前已经被忽略,需要先将它们从缓存中移除,然后重新添加它们。可以按照以下步骤操作:
从 Git 缓存中移除
node_modules
文件夹(但保留本地文件):1
git rm -r --cached node_modules
确认
.gitignore
文件中的规则。重新添加
node_modules
文件夹:1
git add node_modules
提交更改:
1
git commit -m "Update .gitignore rules"
通过这些步骤,Git 将正确应用 .gitignore
文件中的规则。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Hymns!