【问题标题】:Why is not recommended to have an Eclipse project folder as a Git repository?为什么不建议将 Eclipse 项目文件夹作为 Git 存储库?
【发布时间】:2012-12-15 22:53:00
【问题描述】:

当将项目共享为 git 并尝试将 Eclipse 项目文件夹作为 git 存储库时,Eclipse 表示不建议这样做,它应该位于 Eclipse 工作区之外。

这是为什么呢?

【问题讨论】:

  • 从未听说过这种说法。您应该从 git 中排除 (--> .gitignore) eclipse 元数据,仅此而已。
  • 看起来 EGit 开发人员实际上并没有使用他们自己的产品......这就是为什么

标签: eclipse git egit jgit


【解决方案1】:

虽然我同意将存储库保留在 Eclipse 工作区之外,但我仍然会在 Eclipse 项目根目录中创建一个 git 存储库(如在 this answer 中)。

除非您的程序由许多相互依赖的小项目组成,否则我会将一个 git repo 限制为一个 Eclipse 项目。
一个git repo就是记录一个树结构的内容,如果那个树代表一个项目,就更容易管理、标记、分支、合并(作为@ 987654322@).
如果它代表多个项目,您将不再确定像“1.0”这样的标签对于该 Git 存储库中的每个项目代表什么。

另外,我喜欢将 .project.classpath.settings 添加到 Git 存储库(如“Does git exclude eclipse project files from a new repo by default?”)

【讨论】:

  • 您的.git 存储库位置很好,但要使项目独立于 IDE,建议不要提交 .project.classpath 和 .settings
  • @YajliMaclo 我从来不明白共享特定于 ide 的配置文件有什么问题。项目中的所有人都应该使用相同的编译器版本和相同的库。不同的 IDE 通常不共享配置,当它们共享配置时,含义相同。
  • @VitoDeTullio 假设您的团队有两种类型的开发人员,其中一种使用Eclipse,另一种使用Netbeans,因此共享特定于 ide 的配置文件不是一个好主意,并且可能会在导入时出现问题来自 repo 的项目
  • @YajliMaclo 我已经与使用 eclipse 和 intellij 的人(以及一个使用 vim 的人)合作过同一个项目。我们没有任何问题;唯一的“问题”是项目的设置分为两组人(我们有两天时间,有些人使用 java7,有些人已经打开 java9)
  • @VitoDeTullio 以及 Java 8 在这个故事中的位置在哪里? ;)
【解决方案2】:

来自Eclipse EGit help pages

将项目设置为存储库的根文件夹可能不是一个好主意

原因是您将永远无法向此存储库添加另一个项目,因为 .project 文件将占用根文件夹;您仍然可以将项目添加为子文件夹,但是众所周知,这种项目嵌套会导致很多问题。要添加另一个项目,您必须将该项目移动到存储库中的一个子文件夹,并将第二个项目添加为另一个子文件夹,然后才能提交此更改。

更多信息

将存储库保留在 Eclipse 工作区之外是个好主意

这有几个原因:

新的存储库会将 Eclipse 工作区的完整文件夹结构视为(潜在的)内容。这可能会导致性能问题,例如在提交之前计算更改时(例如,它将扫描完整的 .metadata 文件夹);通常情况下,工作区将包含死文件夹(例如已删除的项目),这些文件夹在语义上与 EGit 无关,但不能轻易排除。

元数据 (.git-) 文件夹将是 Eclipse 工作区的子文件夹。目前尚不清楚这是否会导致 Eclipse 不必要的文件夹遍历。

您可以通过销毁 Eclipse 工作区轻松销毁您的存储库

【讨论】:

    猜你喜欢
    • 2013-10-18
    • 2021-08-12
    • 1970-01-01
    • 2012-05-29
    • 2020-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-17
    相关资源
    最近更新 更多