在Git的使用过程中提交过一些文件,之后其中的一些文件不需要提交到Git里面了,将这些文件添加到.gitignore文件中,期望达到的效果是Git会忽略这些文件。但是Git还是会追踪这些文件的更改。

原因:该文件只能作用于untracked files,也就是从来没有被git记录过的文件(新增后,从未add和commit的文件)。之所以不生效,是因为添加到gitignore中的文件曾经被Git追踪过。

解决办法是:

  • 删除修改后的期望不再被追踪的文件
  • 把对应忽略规则写入.gitignore文件中,让忽略规则生效
  • 提交并推送
1
2
3
4
5
6
$ git rm -r --cache .obsidian/workspace.json
$ git add .
$ git commit -m "ignore file update"
3 files changed, 3 insertions(+), 318 deletions(-)
delete mode 100644 .obsidian/workspace-mobile.json
delete mode 100644 .obsidian/workspace.json

之后再修改文件,就可以看到修改不会被Git追踪了。

相关链接

OB tags

#Git