📜  什么是 Git-Ignore 以及如何使用它?(1)

📅  最后修改于: 2023-12-03 15:06:24.438000             🧑  作者: Mango

什么是 Git-Ignore 以及如何使用它?

简介

当我们在开发项目时,往往会涉及到很多的文件,如配置文件、编译结果、日志等。但是这些文件可能并不需要一起提交到版本控制系统中,因为它们不是我们代码的一部分,可能只是和当前环境有关的临时文件。如果每次都手动管理这些文件的提交和忽略是非常繁琐和容易出错的,这时候 Git-Ignore 就派上用场了。

Git-Ignore 是 Git 提供的一个忽略文件列表,可以让我们在提交代码时,排除某些文件或文件夹,这样它们就不会被纳入版本管理,也不会出现在版本仓库的变更列表中。这样一来,我们在提交和管理代码时就会更加方便和安全。

如何使用 Git-Ignore

在使用 Git-Ignore 之前,我们需要了解一些规则和语法。.gitignore 文件使用纯文本格式,每行表示一个忽略的规则,可以使用以下通配符和符号:

  1. "/" 表示目录分隔符。
  2. "#" 表示注释,后面的内容将会被忽略。
  3. "*" 表示匹配任意字符,但不包括目录分隔符。
  4. "?" 表示匹配单个字符。
  5. "[" 和 "]" 表示字符集合,如 "[aeiou]" 表示匹配任意一个元音字母。
  6. "!" 表示否定,即匹配除了它后面指定的字符或集合之外的所有内容。

在创建 .gitignore 文件时,一般会放置在项目的根目录下,它所忽略的文件和文件夹都是相对于它所在的目录的路径。以下是一些常见的 .gitignore 规则例子:

# 忽略所有日志文件
*.log

# 忽略某个具体的文件
config.ini

# 忽略某个文件夹及其子文件夹
logs/

# 忽略所有空文件夹
*/empty/

# 忽略某个特定后缀名的文件
*.bak

# 忽略目录下的所有 .txt 文件,但不包括子目录下的 .txt 文件
/*.txt

以上规则可以组合使用,并且可以在同一 .gitignore 文件中多次出现。更多详细规则和使用方法可以参考官方文档。

如何生效

一旦定义好了 .gitignore 文件,那么在项目提交的时候就会自动忽略掉符合规则的文件和文件夹。但是需要注意的是,如果某个文件已经被纳入版本控制中并且被提交到了仓库中,那么即使我们在后来的 .gitignore 文件中把它忽略掉了,也不会自动删除。这时候我们需要手动删除或者使用 Git 的命令进行修改,比如:

# 移除已纳入版本控制的文件或文件夹
git rm -r --cached [file/folder]

# 更新 .gitignore 文件
git add .gitignore
git commit -m "update .gitignore"
小结

Git-Ignore 是一个简单而有效的工具,可以让我们更加方便地管理代码,特别是在团队合作时减少了不必要的冲突,提高了效率。熟练掌握 Git-Ignore 的规则和使用方法对每一个程序员都是必备技能。