配置.gitignore和解决.gitignore失效问题

487 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

配置.gitignore和解决.gitignore失效问题

目前使用比较普遍的版本控制工具就是Git,什么是Git?Git如何使用?这里就不在进行阐述了。本文主要说明.gitignore配置文件以及如何解决.gitignore不生效的问题。

我们日常开发工作中提交代码时难免会需要排除一些文件,比如一些本机配置文件、IDE自动生成的配置文件、其他临时文件、日志文件等,这时候就需要在提交代码之前配置.gitignore文件。

有时候我们会遇到.gitignore文件不生效的问题, 这种情况一般是我们配置有问题或者是在我们配置之前已经有同事提交了这些需要忽略的文件。对于配置有误的问题很好解决,我们只需要将错误的配置项修改正确即可。但是对于在我们配置之前就提交了需要忽略的文件这种情况,就需要一些特殊的操作才能忽略掉这些文件。

1. 语法规范

  • 空行或是以#开头的行即注释行将被忽略;
  • 以斜杠 / 结尾表示目录;
  • 以星号 * 通配多个字符;
  • 以问号 ? 通配单个字符;
  • 以方括号 [] 包含单个字符的匹配列表;
  • 以叹号 ! 表示不忽略(跟踪)匹配到的文件或目录;
  • 可以在前面添加斜杠 / 来避免递归。

配置文件示例:

# 忽略 .a 后缀的文件
*.a
# 但不忽略 lib.a,尽管已经在前面忽略了.a 后缀的文件
!lib.a
# 仅在当前目录下忽略 TODO 文件,不包括子目录下的 subdir/TODO
/TODO
# 忽略 build/ 文件夹下的所有文件
build/
# 忽略 doc/notes.txt,不包括 doc/server/arch.txt
doc/*.txt
# 忽略所有的 .pdf 文件,包括在 doc/../.. 下的
doc/**/*.pdf

2. 失效解决

git rm -r --cached .
git add .
git commit -m '更新.gitignore'

3. 附通用.gitignore内容

# IntelliJ IDEA Project files
.idea/
*.iml
gen
out

# Visual Studio Code files
.history/

# Eclipse Project files
.classpath
.project
.settings/
bin/

# Maven files
target/
pom.xml.tag
pom.xml.next
pom.xml.releaseBackup
pom.xml.versionsBackup
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
release.properties
!/.mvn/wrapper/maven-wrapper.jar

# System related files
*.DS_Store
Thumbs.db

# Other files
log/
temp/
files/