.gitignore的正确使用姿势

在 git 仓库中,有些文件是不需要同步的,此时就可以将它们加入到 .gitignore 文件中,具体语法如下:

  • 所有空行或者以注释符号 # 开头的行都会被 Git 忽略。
  • 可以使用标准的 glob 模式匹配。
  • 匹配模式最后跟反斜杠(/)说明要忽略的是目录。
  • 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。

下面举几个具体的例子:

1
2
3
4
5
6
7
8
9
10
# 此行为注释

# 忽略所有扩展名为 a 的文件
*.a

# 忽略所有扩展名为 a 或 b 的文件
*.[ab]

# 除 main.a 之外
!main.a

然而,如果在此之前你已经将上述文件添加至 git 并 commit 过的话,修改 .gitignore 也并不会生效,此时需要重新跟踪所有文件,先把本地缓存删除(改变成未track状态),然后再提交:

1
2
3
git rm -r --cached .
git add .
git commit -m 'update .gitignore'