# Git教程 - 9 .gitignore
默认情况下,我们一个项目被 git 管理,git 是会监视项目下所有的文件的。但是项目下有一些文件我们不想被 git 追踪,例如一些敏感文件、编译文件或者一些临时的依赖文件,这样的话,我们就可以通过 .gitignore
文件来进行配置。
git 会忽略 .gitignore
中指定的哪些文件或文件夹。
举个栗子:
我们现有的文件结构如下:
此时使用 git status
查看文件状态,可以看到如下:
如果我们不想 git 追踪 node_modules
文件夹和所有的 .log
文件,那么我们可以在项目根目录下新建 .gitignore
文件,并在其中编写内容如下:
# 忽略根目录下的node_modules文件夹及其内容
node_modules/
# 忽略所有的.log文件
*.log
1
2
3
4
5
2
3
4
5
这样配置的话,重新查看文件的状态,可以看到不显示 node_modules
文件夹和所有的 .log
文件了。
.gitignore
文件是我们新添加的,需要提交。
下面是一些常用的规则:
# 忽略项目中所有的.env文件
.env
# 忽略项目中所有的.env文件
**/.env
# 忽略根目录下的.env文件
/.env
# 忽略所有 .class 文件
*.class
# 只忽略项目根目录下的 .class 文件
/*.class
# 忽略项目中所有的名为 target 的目录
target/
# 忽略根目录下的 target 文件夹(以/结尾表示文件夹)
/target/
# 忽略项目中所有路径中包含 test 的文件或目录
**/test/**
# 不忽略一个特定的 .log 文件
!important.log
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
需要注意:
.gitignore
只对尚未被Git跟踪的文件起作用,一旦文件已经被Git跟踪并提交到版本库中,即使将其加入 .gitignore
,Git 仍然会跟踪这些文件的更改。.gitignore
只对尚未被 Git 管理的文件生效。
如果已经被提交,则需要移除不需要被跟踪的文件:
git rm --cached <file_path>
1
这会将文件从 Git 的跟踪列表中删除,不会删除文件。
然后将需要忽略的文件或文件夹添加到 .gitignore
文件中。
然后再提交更改:
git commit -m "取消跟踪xxxxx"
1
← 08-标签 10-IDEA中操作git →