【学了就忘】Git操作 — 54.忽略文件介绍

2021-06-03  本文已影响0人  繁华似锦Fighting

1、忽略文件说明

有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们到本地版本库,通常都是些自动生成的文件、日志文件、系统缓存文件、编译过程中创建的临时文件,或者保存了数据库密码的配置文件、人隐私文件等等,每次执行git status命令时,都会显示Untracked files ...(未被跟踪),有强迫症的童鞋心里肯定不爽。

正常来说,这些文件都是不应该被提交到版本库,倘若一不留神提交到版本库,要么泄露机密信息,要么造成经济损失,要么对团队其他人工作造成不便。

好在Git考虑到了大家的感受,这个问题解决起来也很简单,在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,并且把.gitignore文件提交到本地版本库中。之后Git就会自动忽略这些文件,再运行git status命令时就不对其进行检测了。

即:"并不是所有的牛奶都叫特仑苏",在版本控制系统中也有相似的表达,那就是"并不是所有的文件都需要提交到本地版本库"。

2、忽略文件的原则

  1. 忽略操作系统自动生成的文件,保持项目在不同操作系统中的纯粹性和整洁度。

  2. 忽略编译生成的中间文件、可执行文件等,比如Java编译产生的.class文件,

    即:忽略工具软件自动生成的文件,避免因个性化配置而产生的工作障碍。

  3. 忽略自己带有敏感信息的配置文件,比如存放口令的配置文件。

目标:只提交必要文件,忽略无用文件,尽可能考虑多种情况,不给他人制造麻烦。

3、.gitignore忽略规则

文件 .gitignore 的格式规范如下:

所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。

我们再看一个 .gitignore 文件的例子:

# 1.忽略public下的所有目录及文件
/public/*

# 2.不忽略/public/assets,就是特例的意思,assets文件不忽略
!/public/assets

# 3.忽略具体的文件
index.html

# 4.忽略所有的java文件
*.java

# 5.忽略 a.java b.java
[ab].java

# 6.忽略 doc/ 目录及其所有子目录下的 .pdf 文件
doc/**/*.pdf

# 7.忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
doc/*.txt

# 8.忽略任何目录下名为 build 的文件夹
build/

# 9.只忽略当前目录下的 TODO 文件,而不忽略 subdir/TODO文件
/TODO

要养成一开始就为你的新仓库设置好.gitignore文件的习惯,以免将来误提交这类无用的文件。

参考:

上一篇 下一篇

猜你喜欢

热点阅读