我对远程存储库的文件.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状态:
$ 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
一直说没有什么可以承诺的。
如何让这个文件再次“正常”?我希望能够对它进行区分,提交它,或者只是{{1}}它。也就是说,其他git配置文件/标志/属性可能隐藏了这个文件?
答案 0 :(得分:1)
还有另一个用于忽略文件的git配置文件:.git/info/exclude
文件exclude
和.gitignore
之间的区别在于前者未经过版本控制,仅供您个人使用。例如,要从IDE或操作系统中排除文件。