我在一个文件中(.classpath)对于远程代码库有一些本地修改。(是的,我知道不应该将 classpath 文件放在共享代码库中,但那又是另外一个故事。)
这证明了存在一些本地修改:
然而,它们在 git 状态中不显示:
这个文件没有被列入.gitignore文件中,正如这个命令所证明的:
我也尝试将其从“假定未更改”中移除,但没有任何变化:
无法将其添加到暂存区。我可以对它执行
我该如何使这个文件恢复正常?我想要能够对其进行差异比较,提交它,或者只需
这证明了存在一些本地修改:
$ git checkout master
error: Your local changes to the following files would be overwritten by checkout:
PhotoFeed/.classpath
Please, commit your changes or stash them before you can switch branches.
Aborting
然而,它们在 git 状态中不显示:
$ git status
# On branch release-1.5.1
nothing to commit, working directory clean
这个文件没有被列入.gitignore文件中,正如这个命令所证明的:
$ git status --ignored
# On branch release-1.5.1
# Ignored files:
# (use "git add -f <file>..." to include in what will be committed)
#
# .metadata/
# PhotoFeed/.settings/
# PhotoFeed/bin/
我也尝试将其从“假定未更改”中移除,但没有任何变化:
$ git update-index --no-assume-unchanged PhotoFeed/.classpath
无法将其添加到暂存区。我可以对它执行
git add -f
,但是git commit
一直说没有要提交的内容。我该如何使这个文件恢复正常?我想要能够对其进行差异比较,提交它,或者只需
git rm
它。也就是说,还有哪些其他的git配置文件/标志/属性可能隐藏了这个文件?
.git/info/exclude
中没有这些文件。 - espinchi