📌  相关文章
📜  如何忽略 git 中的文件 (1)

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

如何忽略 Git 中的文件

在 Git 中,有时我们需要忽略某些文件,避免它们被提交到版本库中。这些文件可能是临时文件、编译生成的文件、IDE 或编辑器生成的文件,或者包含敏感信息的配置文件等。

下面介绍几种忽略 Git 中文件的方法。

.gitignore 文件

.gitignore 文件是 Git 中一种特殊的文件,用来指定 Git 忽略哪些文件。该文件可以放在项目的根目录或任意子目录中,其内容格式如下:

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

# 忽略 node_modules 目录,但不包括子目录里的 .bin 目录
node_modules
!node_modules/.bin/

其中 * 表示通配符,! 表示取消忽略。

.gitignore 文件中的规则适用于整个项目,但如果有特殊需求,比如只对某个开发者或某个分支进行忽略,也可以使用 .git/info/exclude.gitattributes 文件。具体使用方法可以查看 Git 官网

运行 Git 命令时忽略

有时候我们只是暂时不想将某些文件提交到版本库中,比如开发中间产生的临时文件,可以使用 git add 命令的 --ignore-errors 选项忽略它们:

# 忽略所有 .tmp 文件
$ git add . --ignore-errors "*.tmp"

也可以使用 git update-index 命令的 --assume-unchanged 选项对已经被 Git 跟踪的文件进行忽略:

# 对已经被 Git 跟踪的 .env 配置文件进行忽略
$ git update-index --assume-unchanged .env

需要注意的是,一旦使用 --assume-unchanged 选项忽略了某个文件,该文件的修改就不会被 Git 识别,除非再次使用 --no-assume-unchanged 选项取消忽略。

全局忽略

除了 .gitignore 文件和运行 Git 命令时忽略外,还可以在 Git 配置文件中添加全局忽略规则,使得所有 Git 仓库都不会跟踪或提交这些文件。具体方法如下:

# 添加全局忽略规则
$ git config --global core.excludesfile ~/.gitignore_global

# 在 ~/.gitignore_global 文件中添加忽略规则
node_modules/
.DS_Store

需要注意的是,在使用全局忽略规则时需要谨慎操作,避免将重要文件或配置文件误加入忽略列表中。

总结

使用以上三种方法可以很好地忽略 Git 中的文件,不仅可以减轻版本库的大小,还可以提高代码的安全性和可读性。在实际开发工作中,可以根据具体情况选择合适的方法。