.gitignore 是一个在 Git 版本控制系统中使用的文件,它用于指定在 Git 仓库中哪些文件或目录应该被忽略,即不会被 Git 追踪或记录。这对于一些自动生成的、用户特定的或敏感的文件特别有用,比如编译后的目标文件、日志文件、配置文件中的密码等。
下面是一些 .gitignore 文件的用法和注意事项:
-
位置:
.gitignore文件应该位于仓库的根目录或任何子目录中。位于子目录中的.gitignore文件只会影响该子目录及其子目录中的文件。 -
语法:
- 每行指定一个模式,可以是文件名或目录名,也可以是通配符模式。
- 以
#开头的行是注释。 - 使用
!来取消之前的忽略规则。
-
示例:
- 忽略所有
.log文件:
*.log- 忽略名为
node_modules的目录及其所有内容:
node_modules/- 忽略所有
.txt文件,但important.txt除外:
*.txt !important.txt - 忽略所有
-
注意事项:
.gitignore文件仅对尚未被 Git 追踪的文件有效。如果文件已经被 Git 追踪(即已经提交到仓库),那么.gitignore文件中的规则不会影响这些文件。要停止追踪这些文件,你需要从 Git 中删除它们(使用git rm --cached <file>),然后再提交更改。.gitignore文件中的规则是大小写敏感的,除非你的操作系统或文件系统不区分大小写。- 你可以使用全局的
.gitignore文件来忽略所有仓库中的某些文件。这通常通过在你的主目录(如~/.gitignore_global)中创建一个文件,并在 Git 配置中指定它来实现(使用git config --global core.excludesfile ~/.gitignore_global)。
-
其他用途:除了
.gitignore文件外,Git 还支持.git/info/exclude文件和每个用户的~/.gitignore文件(或全局配置文件中的core.excludesFile指定的文件)来忽略文件。这些文件主要用于用户特定的忽略规则,而不是共享到仓库中的规则。