📅  最后修改于: 2023-12-03 15:38:46.801000             🧑  作者: Mango
在 Git 中,有时我们需要忽略某些文件,避免它们被提交到版本库中。这些文件可能是临时文件、编译生成的文件、IDE 或编辑器生成的文件,或者包含敏感信息的配置文件等。
下面介绍几种忽略 Git 中文件的方法。
.gitignore
文件是 Git 中一种特殊的文件,用来指定 Git 忽略哪些文件。该文件可以放在项目的根目录或任意子目录中,其内容格式如下:
# 忽略所有 .log 文件
*.log
# 忽略 node_modules 目录,但不包括子目录里的 .bin 目录
node_modules
!node_modules/.bin/
其中 *
表示通配符,!
表示取消忽略。
.gitignore
文件中的规则适用于整个项目,但如果有特殊需求,比如只对某个开发者或某个分支进行忽略,也可以使用 .git/info/exclude
或 .gitattributes
文件。具体使用方法可以查看 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 中的文件,不仅可以减轻版本库的大小,还可以提高代码的安全性和可读性。在实际开发工作中,可以根据具体情况选择合适的方法。