首页 > 解决方案 > 该文件被 Git 忽略,但不在 .gitignore 中

问题描述

我在 中进行了更改db/schema.rb,但当文件未包含在.gitignore.

值得一提的是,编辑器(Sublime Text)不会像处理.gitignore.

我检查了以下内容,但没有一个有帮助:

$ vi ~/.gitignore
$ git status -s --ignored
$ git check-ignore -v db/schema.rb

标签: ruby-on-railsgit

解决方案


根据您的评论:

第二个命令给出S db/schema.rb

S表示skip-worktree标志,可以通过 设置的不太明显的标志之一git update-index

跑 :

git update-index --no-skip-worktree db/schema.rb

删除此标志。


参考文档:

git ls-files指向具有此标志的文件的链接仅在

  • 这个小句子git help update-index(“使用“假设不变”位”第二段的最后一句,跳过工作树段落没有直接提及):

要查看哪些文件设置了“假定未更改”位,请使用 git ls-files -v(请参阅 git-ls-files[1])。

-t

[...]此选项在每行的开头使用以下标签(后跟空格)标识文件状态:

[...]

S
跳过工作树

-v

与 -t 类似,但对标记为假定未更改的文件使用小写字母(请参阅 git-update-index[1])。


推荐阅读