13

我开始在 Eclipse 中使用 EGit,我的一个目录(包含许多子模块和常规目录)总是显示为脏。我试图git reset --hard从头开始重新创建项目。如果我选择目录并与 git index 或 HEAD 比较,它不会显示任何更改。

如果我在文件夹的命令行上使用 git,git status则不会显示任何待处理的更改并git submodule正确列出所有子模块。使用 EGit,我尝试设置Assume Unhanged选项。但这也会传播到子目录(这是不可取的)。

我正在使用 Eclipse 4.2.1、EGit 2.1.0 和 Geppetto 3.0.0。还有什么可能导致该目录始终显示为脏?有什么方法可以忽略对此目录的更改(但仍会更改兄弟姐妹)?

更新 - 2013 年 10 月 2 日:

更新 - 2014 年 9 月 24 日:

  • https://bugs.eclipse.org/bugs/show_bug.cgi?id=429304上还有一个额外的伞形错误,可以针对特定于 EGit 的问题进行跟踪。
  • 我不再使用 Eclipse 或 EGit,而是使用 Git Plus 插件迁移到 Atom。问题解决后,我将尝试继续更新。但是 Atom 和 Git Plus 现在让我更满意了,这个问题目前与我无关。
4

2 回答 2

1

这也可能是由于推送到远程仓库的多个人之间的行尾差异、远程仓库(通常是裸露的,但特定于操作系统的行尾)以及您的 git 设置。这是您可以验证的吗?

于 2013-04-20T15:07:40.680 回答
-1

这个解决方法为我修复了它。用“Assume Unchanged”标记父文件夹,但用“No Assumed Unchanged”标记所有子文件夹。

例如,我在项目根目录下的 modules/Services 中添加了一个子模块。我用“Assume Unchanged”标记了模块,它删除了脏标志。然后我用“No Assume Unchanged”标记了所有子文件夹(模块/实体,模块/服务,...)。

团队 -> 高级 -> “假定未更改”/“没有假定未更改”

我不认为这是完美的,如果我在模块下有单独的文件,如果修改它们可能不会显示为脏。

于 2013-05-14T16:09:52.677 回答