3

.classpath关于远程存储库,我在文件中有一些本地更改。(是的,我知道我不应该在共享存储库中包含类路径文件,但那是另一回事。)

这证明有一些局部变化:

$ 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 status 中:

$ 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/

我也尝试将其从 中删除assume-unchanged,但它并没有改变任何东西:

$ git update-index --no-assume-unchanged PhotoFeed/.classpath

它不能添加到暂存区。我可以做到git add -f,但git commit一直说没有什么可承诺的。

我怎样才能让这个文件再次“正常”?我希望能够区分它,提交它,或者只是git rm它。也就是说,还有什么其他 git config 文件/标志/属性可能隐藏了这个文件?

4

1 回答 1

1

还有另一个 git config 文件用于忽略文件:.git/info/exclude

exclude文件和文件之间的区别在于.gitignore,前者没有版本控制,是供您个人使用的。例如,从 IDE 或操作系统中排除文件。

于 2013-08-16T17:03:21.420 回答