git怎么设置ignore

1. 什么是gitignore

在学习使用 Git 的时候,很多人都会遇到一个问题,就是在使用 Git 进行版本控制的过程中,有很多文件我们并不需要纳入 Git 的管理中,比如一些临时文件或者是编译过程中产生的中间文件等,这些文件不仅会占用存储空间,而且很可能会误导 Git 后续的版本控制,导致仓库出现各种问题。

这时候我们就需要使用 .gitignore,.gitignore 文件的作用就是告诉 Git 哪些文件不需要进行版本控制,以保证我们的代码库更加干净、整洁。

2. 创建 .gitignore 文件

2.1 手动创建

创建 .gitignore 文件非常简单,只需要在项目根目录下新建一个名为 .gitignore 的文件即可。在这个文件中,我们可以列出要忽略的文件的清单,文件名一般就是对应文件路径下的文件名。

touch .gitignore

然后通过编辑器进行编辑就好了,例如我不希望提交.idea的文件夹以及一些常见的临时文件,文件内容可以写成这样:

/.idea

*.iml

*.log

.DS_Store

其中斜杠 / 表示忽略.gitignore 文件所在目录下的.idea 文件夹,星号 * 表示忽略所有的.iml 和.log 文件。在 Mac 系统中,.DS_Store 文件是系统自动创建的,不需要进行版本控制。

2.2 通过命令行

我们也可以通过 Git 命令行工具来创建 .gitignore 文件,例如使用 echo 命令:

echo '.idea

*.iml

*.log

.DS_Store' > .gitignore

3. .gitignore 规则

在使用 .gitignore 文件的时候,需要注意以下几点。

3.1 基本语法

.gitignore 文件中每一行的内容为一条忽略规则。在忽略规则中,可以使用以下基本语法:

# 开头的行为注释

空行会被忽略掉

可以使用通配符 * ,比如 *.log 表示忽略所有以 .log 结尾的文件

可以使用斜杠 / 指定目录,比如 /logs 表示忽略 logs 目录下的文件

可以使用逆向感叹号 ! 将某个忽略规则排除在外,比如 !/logs/access.log 表示不忽略 logs 目录下的 access.log 文件

3.2 常见用法

一般来说,我们在 .gitignore 文件中添加以下内容:

忽略编译中间件文件

*.o

*.obj

*.exe

*.dll

*.so

*.dylib

*.pdb

*.swp

*.class

*.psd

忽略压缩文件

*.tar.gz

*.tgz

*.tar

*.zip

*.rar

*.7z

忽略日志和临时文件

*.log

*.bak

*.cache

*.tmp

*.temp

*.pid

*.pidlock

忽略系统文件

*.DS_Store

*.Spotlight-V100

*.Trashes

4. .gitignore 文件的使用

4.1 生效方式

在 .gitignore 文件中添加规则之后,新的规则并不会立即生效,需要在 git add 或者 git commit 的时候才会生效。这是因为 Git 的设计理念是尽可能的不自作聪明,不对用户进行任何预设的自动操作。

4.2 强制添加被忽略的文件

有时候我们需要强制添加被忽略的文件,可以使用 -f 或 --force 参数,加上 -f 参数就可以强制添加文件了。

git add -f file_name

4.3 查看被忽略的文件

有时候我们需要查看哪些文件已经被写入了 .gitignore 文件,Git 提供了一个 --ignored 参数,可以显示被忽略的文件。

git status --ignored

5. 总结

.gitignore 文件是 Git 中非常重要的一个概念,可以帮助我们组织 Git 代码仓库,保持代码仓库的清洁,避免一些意外的问题。

在实际开发中,我们可以根据具体的项目需要,对 .gitignore 文件进行不同方式的维护,例如将 .gitignore 文件集成到项目的文档中,方便开发人员查看。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。