Eclipse在切换分支后未找到新文件

Eclipse在切换分支后未找到新文件,eclipse,git,Eclipse,Git,我在EclipsePhoton中工作,我的团队使用git。我选择不使用EclipseGit插件做任何事情,我只是使用第三方应用程序和命令行使用git做我需要的所有事情。尽管安装了Egit。我不确定这些因素是否与我的问题有关 但我注意到现在有几次,如果我开始处理一个功能分支,在Eclipse中添加两个新文件,提交我的工作,然后出于某种原因需要切换到另一个分支,然后切换回我的功能分支,那么我以前添加的那些新文件将不会显示在Eclipse中的project explorer中,即使在刷新之后也是如此。

我在EclipsePhoton中工作,我的团队使用git。我选择不使用EclipseGit插件做任何事情,我只是使用第三方应用程序和命令行使用git做我需要的所有事情。尽管安装了Egit。我不确定这些因素是否与我的问题有关

但我注意到现在有几次,如果我开始处理一个功能分支,在Eclipse中添加两个新文件,提交我的工作,然后出于某种原因需要切换到另一个分支,然后切换回我的功能分支,那么我以前添加的那些新文件将不会显示在Eclipse中的project explorer中,即使在刷新之后也是如此。明确地说,当我切换到一个没有新文件的分支,然后返回到具有新文件的要素分支时,就会发生这种情况。这让我快发疯了。这不是git做错了什么的问题,git正在按预期工作。当我从我的分支切换出去时,文件在windows资源管理器中消失,当我切换回来时,它们又在windows资源管理器中出现。我找到的唯一解决方案是关闭并重新打开Eclipse,但效果不一致。这对于日食的速度来说是一个巨大的时间浪费。有人知道是什么导致了这种行为吗

我使用这个设置已经有一段时间了,才开始注意到它。刷新对我没有任何作用。我已尝试导入新文件,但这会导致一个错误,指出我的目标已在其层次结构中包含该文件。嗯,这是有道理的,因为确实如此。然而,Eclipse仍然不会在浏览器中显示该文件。我可以从windows资源管理器将文件打开到Eclipse中,即使这样,Eclipse也不会在资源管理器中显示该文件。这不会太麻烦,除非它在我的引用和搜索中也不可见,这很烦人,因为我正在处理和引用新文件中的内容


谢谢你的帮助

一种解释,特别是在Windows上,是Eclipse在重新设计其工作区时遇到问题,因为Windows句柄阻止它这样做。因此,需要关闭/重新打开解决方案

检查是否可以为功能分支定义一个单独的工作树。

然后,您可以从Eclipse在工作树之间切换,通过两个不同的Eclipse工作区:这可能比关闭/重新打开更快。

此文件的名称是什么,它在层次结构中的位置?它在一个文件夹中的层次结构中大约有5个级别,其中许多其他文件的名称格式相同。名称只是几个带下划线和破折号的字母(示例\u of-my\u file.src)。它也不是特别长或短。我所有的文件名都有下划线和/或破折号。文件名或文件/文件夹名的组合是否可能是一个问题?感谢您的推荐,我不熟悉git worktree,但这听起来似乎可以解决我的问题。如果我理解正确,我基本上可以同时处理两个分支,对吗?在工作区之间切换没有关闭和重新打开那么烦人,但假设我在feature分支中工作,然后需要在其他分支中执行一项小任务,我可以简单地用该工作树将Eclipse的另一个实例打开到该工作区吗?要使Eclipse与Git同步,必须在Git Staging或Git Repositories视图中点击Refresh,而不是在Project Explorer中点击Refresh(即与文件系统同步)。分支切换的最快方式是使用最新的Eclipse EGit版本(分别为2019-12和5.6),而不使用Git命令行。在这里,使用命令行是一个错误的建议,因为每次都毫无理由地需要同步。我不会说EGit不好,但我更喜欢在大多数情况下使用命令行和第三方UI。我确实喜欢ShowLocalHistoryEclipse选项,所以我保留了EGit。同样感谢您的投入。这个解决方案不是我喜欢的解决方案。过去,在我在Eclipse外部的git中更改工作区后,Eclipse在正确刷新方面做得非常好,所以我不确定现在更改了什么。@JLuce Eclipse Photon很旧。EGit和JGit的开发非常活跃,例如Google,他们在服务器端使用JGit(在gitlib和Gerrit中)。例如,当前的JGit版本已经支持了git核心(命令行git)尚未支持的功能。也。自光子发射以来发生了什么变化。