【问题标题】:Eclipse + EGit: clone project into workspaceEclipse + EGit:将项目克隆到工作区
【发布时间】:2011-06-18 13:29:18
【问题描述】:

我对 EGit 的工作原理有点困惑。

我在 Github 上有一个现有的 git 存储库,并希望将其克隆到我的工作区中。 我的目标是将本地存储库直接存储在我的工作区文件夹中,但我无法使用 EGit。

当我想用 EGit 克隆 github repo 时,我必须选择一个目录作为目标。建议的目录在我的主目录中(不在我的工作区中)。当我选择这个目录时,我可以在 Eclipse 中看到该项目,但它没有存储在我的工作区文件夹中。相反,它存储在我的主目录中。

当我直接在我的工作区中选择一个目录时,稍后在导入项目时它会说已经有一个同名的目录。

我不知道如何解决这个问题。我认为这将是一个常见的场景。过去我使用过 hgEclipse (Mercurial),它的工作方式与我认为的完全一样,所以我很困惑 EGit 没有。也许我误解了什么。

了解这一点可能很重要:在 github 存储库中,没有来自 eclipse 的 .project 或 .settings 文件。我将它们放在我的 .gitignore 中,因此在导入对话框中我必须选择“作为常规项目导入”而不是“导入现有项目”。但我认为这应该无关紧要?

我希望有人可以帮助我或解释为什么 EGit 插件默认不会将存储库直接克隆到工作区中。

我的 Eclipse 版本是 3.6,我已经在标记的地方安装了 EGit。

【问题讨论】:

    标签: eclipse git github egit


    【解决方案1】:

    正如EGit tutorial 中所述,您在导入(克隆)Git 存储库时提到的目标目录是您想要的任何目录,.git 将在其中创建:

    您不必选择工作区本身(至少,您应该选择 workspace/myproject 子目录,以免将 all Eclipse 工作区变成 Git 存储库。

    您可以选择工作区外部的任何其他目录:Eclipse 工作区应该只包含有关 Eclipse 项目和设置的元数据。
    声明新项目时,您将能够选择项目目录,使该目录成为.classpath.project 的父目录。
    您的工作区将列出该新项目,即使它位于工作区之外。

    【讨论】:

    • 为什么 Eclipse 工作区应该只包含元数据?当我的工作区中有项目时,备份很容易,而且我总是知道我的文件所在的位置。
    • @lastard:我将源与任何 IDE 很好地分开,这样,我可以更改 IDE 或更改 IDE 中的工作区,而不必担心文件迁移。话虽如此,如果您在工作区中选择一个子目录,则应在其中创建一个 .git 并在其中签出 git repo。换句话说,如果你希望你的项目在你的工作空间中,那应该是可能的。
    • 感谢您的回答。独立于 IDE 是我不将 Eclipse 特定的 .project 文件提交到 github 但在我的本地计算机上我喜欢在我的工作区中拥有所有项目的原因。
    • @lestard:我仍然会提交.project.classpath ;) 见stackoverflow.com/questions/5718318/…stackoverflow.com/questions/2818239/…
    【解决方案2】:

    要从 GitHub 导入项目,您应该使用 Import Git Repository as New Project 对话框(右键单击 -> 导入 -> Git -> Git 存储库作为新项目)。这样您就可以选择克隆存储库的目标,包括工作区。

    【讨论】:

      【解决方案3】:

      如果您想在 IDE 中编辑源代码并希望将更改反映在 Git 存储库中,请删除项目中的原始源文件并将 git 存储库中的源文件链接到项目。这样,您可以直接对 git repo 进行更改,并在需要时提交它们。不过在 IDE 中删除项目时,请注意不要删除文件。

      【讨论】:

        【解决方案4】:

        在工作区中创建 git 项目的步骤(使用 egit):

        1. 在 GIT 透视图中选择“克隆 Git 存储库并将其添加到此视图”
        2. 选择工作区内的文件夹作为目标(例如“.../workspace/myproject”)
        3. 等到克隆
        4. 文件 -> 新建 -> 项目
        5. 常规 -> 项目
        6. 作为项目名称类型的工作空间中已克隆项目的文件夹的名称(例如“myproject”)

        【讨论】:

          【解决方案5】:

          不。没有办法让它工作。您不能使用 egit 将 git 项目签出到工作区中,如果您将其签出到其他地方并尝试将其复制到工作区中,您将失去与远程存储库的连接。如果您希望 VCS 可以正常工作,请使用 svn 或 mercurial。

          【讨论】:

          • 这 1) 不是真的,2) 如果它是真的,这将代表 Eclipse 的 git 支持问题,而不是 git 本身的问题。所以我不确定你为什么要推广替代 VCS。
          • 那条评论写于 2011 年。现在是 2019 年。
          【解决方案6】:

          在“配置本地存储位置”对话框中, 选择 .../工作区/项目名称。

          然后在下一个对话框中, 我们得到向导选择菜单。通常您应该选择“导入现有项目”。 (但见下文)。

          最后是“导入项目”对话框。 由于各种无法解释的原因,有时这个对话框是空的,不会 让你完成。在这种情况下,您需要取消,然后在 Eclipse 之外完全删除克隆到的工作目录,然后重新启动。

          但是如果那里有项目,请按完成。如果它抱怨项目已经存在,请返回向导菜单并将其更改为使用向导。选择一个 Java 向导,然后完成。这通常会起作用,但前提是您首先获得“导入项目”菜单以首先识别该项目。

          可能需要多次尝试才能使其正常工作!但是一旦设置好,它就可以正常工作了。

          因此,总而言之:是否可以让 EGit 使用 git clone 的默认项目位置,但根据我的经验,它可能莫名其妙地需要多次尝试。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-07-31
            • 1970-01-01
            • 2012-05-03
            • 1970-01-01
            • 1970-01-01
            • 2011-10-21
            • 2011-09-11
            • 1970-01-01
            相关资源
            最近更新 更多