java是Eclipse项目的一部分。在Git/Mercurial中可以安全地忽略元数据吗?
我们在包含多个Java项目的Eclipse工作区中有Eclipse RCP应用程序的代码。我们将Mercurial与一个简单的。只需*。类(但同样的问题也适用于Git)
即使对代码做一点小小的更改,也会导致许多文件丢失。元数据正在更改
我想排除部分或全部的错误。来自版本控制的元数据。如果我们完全排除它,工作空间就会丢失
有人知道我们可以安全排除什么吗?或者,如果我们把代码拉到一台新的计算机上,我们怎么能重新创建它呢
# 1 楼答案
GitHub正在维护一个社区“gitignore”项目,该项目为各种平台、编辑器和语言的Ignore编目建议的文件规范:https://github.com/github/gitignore
这里有:https://github.com/github/gitignore/blob/master/Global/Eclipse.gitignore
(如果他们还应该知道其他文件规范,请告诉他们!)
# 2 楼答案
我个人知道的文件有:
在某个地方,我有一个Eclipse工作区,用于测试一些与Eclipse相关的工具,这些工具被严重削减,但仍然有效。我看看能不能把它挖出来
# 3 楼答案
我经常保持沉默。项目和。类路径,不仅对git安全而且有用
。上课和上课。设置在我的gitignore中。它们分别是生成的和特定于个人的
# 4 楼答案
工作区元数据真的不应该保存在源代码管理中。基本工作区配置可以通过team project set共享
# 5 楼答案
元数据和工作空间
我永远不会共享
.metadata
文件夹。事实上,除非你有特殊原因,否则我甚至不会共享工作区文件夹,而是与git单独共享每个项目。这样.metadata
文件夹将始终位于git存储库的父文件夹中,您不必考虑是否需要忽略它:特定项目
您可能应该始终共享
.project
文件,而不要共享.settings/
文件。这个.classpath
可能取决于你的环境,但我也不建议分享它,因为它可能会导致冲突(例如,如果一个用户使用openjdk,而另一个用户使用sun jdk,.settings
包含eclipse的首选项和设置,并且更改很多,因此不应该共享它。如果在从git克隆项目后正确导入该项目,那么也不会有任何问题关于
.project
文件,eclipse documentation声明如下:以及:
我还建议使用Maven,因为这将在依赖关系管理和应用程序方面为您节省很多问题。类路径
Maven
Maven项目的主要区别在于,可以将项目作为Maven导入->;“现有Maven项目”,因此只需要共享pom。xml和git中的
.project
文件。Eclipse随后将自动为您创建.classpath, .settings/
文件。因此,显然你不需要分享它们。如果pom发生变化。只需运行Maven->;“更新项目配置”和Maven->;“更新依赖项”没有Maven
应该共享
.project
文件,而不是.settings/
文件夹。你可以考虑分享。但是它可能会导致如上所述的冲突。我建议也不要分享。使用以下方法导入项目:克隆git存储库后,只需使用导入->;“来自工作区的现有项目”eclipse将支持
.project
文件,但会重新创建.classpath
和.settings/
文件。导入之后,您需要从Eclipse手动配置类路径(每次您的团队想要使用另一个库时)如果你不分享。项目文件,则无法使用Eclipse导入项目。您需要先使用项目向导创建一个新项目,然后选择导入“常规->;文件系统”,这将把所有文件复制到您的工作区中。这可能不是您想要的,因为这意味着您无法将git存储库克隆到工作区中,您必须将其克隆到其他地方,然后从那里导入。因此,你应该一直分享你的想法。项目文件
如果您对此解释有任何建议或不同意,请留下一个推荐信。我希望这对其中一方有所帮助