将GitHub项目导入Eclipse


121

我已经导入了GitHub项目,但是如何在Eclipse项目工作区中设置项目?

在签出项目之前,是否需要将GitHub工作目录(c:\ users)设置为我的Eclipse工作目录(c:\ Projects)?

在此处输入图片说明

编辑:

我的工作目录现在是c:\ users \ projectname \ .git,因此我尝试使用eclipse的“导入”选项导入项目。当我尝试导入选择“使用新项目向导”选项时,不会导入源代码,如果我导入选择“导入为常规项目”选项,则会导入源代码,但Eclipse创建的创建项目不是Java。项目。选择选项“使用新项目向导”并使用该向导创建新的Java项目时,代码是否应自动导入?

在此处输入图片说明


7
有大致相同的问题。我看不到下面的答案。是的,Egit用户手册介绍了如何克隆存储库。egit用户手册还描述了显然导致您描述的行为的步骤(在我的情况下,“使用New Projects向导”也不会导入源代码)。我很困惑egit中提供的步骤如何产生一个空项目,这是“正常行为”。那么,使用克隆的本地存储库中的源创建项目的“正常行为”在哪里?我试图将空项目与资源库同步,但无法正常工作。
s_t_e_v_e

2
令人沮丧的是,我在文件系统上找到了“已签出”的源(我不知道这是否是正确的git术语),并且不记得我做了什么才能使它在那里。有一次,我浏览了本地存储库分支并选择了结帐。(没想到有什么事情发生,我找不到任何取消或撤消签出的内容。)不管有没有源,只要足够容易就可以创建一个新的Java项目并将其指向该目录。
s_t_e_v_e

Answers:


103

正如Alain Beauvois答案所述,现在(2013年第4季度)在

从GitHub复制URL,然后在Eclipse中从菜单中选择

File → Import → Git → Projects from Git

http://wiki.eclipse.org/images/5/5a/Egit-0.9-import-projects-select-repository.png


如果尚未克隆Git存储库:

为了检出一个远程项目,您必须首先克隆它的存储库。
打开Eclipse Import向导(例如File => Import),Git => Projects从Git中选择并单击Next
选择“ URI”,然后单击Next
现在,您将必须输入存储库的位置和连接数据。输入URI将自动填充某些字段。完成所有其他必填字段,然后点击Next。如果使用GitHub,则可以从网页复制URI。

选择要克隆的所有分支,然后再次单击下一步。

点击“克隆...”按钮,打开另一个用于克隆Git存储库的向导。

http://eclipsesource.com/blogs/wp-content/uploads/2012/12/14-282x300.png


原始答案(2011年7月)

首先,如果您的“工作目录”为C:\Users,这很奇怪,因为这意味着您已直接在C:\ Users中克隆了GitHub存储库(即,您在中有一个.git目录C:\Users

通常,您可以在“ any directory of your choice\theGitHubRepoName”中克隆GitHub存储库。

EGit用户手册页所述

在任何情况下(除非您创建“裸”存储库,但是这里没有讨论),新的存储库实质上是本地硬盘上的一个文件夹,其中包含“工作目录”和元数据文件夹。
元数据文件夹是专用的子文件夹,名称为“ .git”,通常称为“ .git-folder”。它包含实际的存储库(即,提交,参考,日志等)。

元数据文件夹对Git客户端完全透明,而工作目录用于将当前签出的存储库内容公开为工具和编辑器的文件。

通常,如果要在Eclipse中使用这些文件,则必须以一种或另一种方式将它们导入Eclipse工作区。为此,最简单的方法是检入.project文件,“导入现有项目”向导可以从中轻松创建项目。因此,在大多数情况下,包含Eclipse项目的存储库的结构类似于以下内容:

另请参阅在Github中使用EGit


我的工作目录现在 c:\users\projectname\.git

您应该签入该回购的内容c:\users\projectname(换句话说,您应该拥有的不仅仅是.git)。

因此,然后我尝试使用Eclipse的“导入”选项导入项目。
当我尝试导入时选择选项“使用新项目向导”,则不会导入源代码。

那很正常。

如果我导入时选择选项“作为一般项目导入”,则将导入源代码,但是Eclipse创建的创建的项目不是Java项目。

再次正常。

选择选项“使用新项目向导”并使用该向导创建新的Java项目时,代码是否应自动导入?

不,那只会创建一个空项目。
如果该项目是在中创建的c:\users\projectname,则可以在该项目中声明最新的源目录。
由于它是在与Git存储库相同的工作目录中定义的,因此该项目应显示为“版本化”。

如果您的GitHub存储库已经对.projectand .classpath文件进行了版本控制,那么您也可以使用“导入现有项目”选项,但是在这里情况可能并非如此。


3
“如果该项目是在c:\ users \ projectname中创建的,则可以在该项目中声明最新的源目录。” 这是否意味着Eclipse工作区目录必须与Git工作目录相同?
蓝天

2
@ user470184:不,Eclipse工作空间可以并且应该位于与项目本身无关的位置。
VonC

2
好的,那么如何将Eclipse Java项目链接到Git存储库?您能否详细说明“在该项目中声明最新的源目录”。
蓝天

2
@ user470184:跟随stackoverflow.com/questions/251116/…stackoverflow.com/questions/6396349/…之后,想法是在或.project.classpath上一个目录相同的父目录中创建.git,然后将其属性编辑为引用源目录。该项目的引用将存在于Eclipse工作区中。但是该项目的实际工作目录将在其中.git
VonC

@ user470184:请参阅vogella.de/articles/Eclipse/article.html#firstjava:在创建新项目时,可以指定需要考虑的源目录。如果您在与包含的目录相同的目录上创建该项目.git,并且将其配置为引用克隆的GitHub存储库中现有的源目录,则您将有一个项目,Eclipse会将该项目视为版本化(因为的存在.git
VonC

21

使用最后一个ADT,您可以使用Eclipse导入Github项目:

  1. 文件->导入-> Git->来自Git的项目> URI

  2. 输入Github存储库网址

  3. 选择分支


23
如果找不到项目怎么办?
安德森

为我工作整洁。简单易记。
Anirudh 2014年

1
它将项目导入到Eclipse中,但它不是Java项目,仍在挣扎中,如果可以,请帮助。OP准确描述了我现在面临的情况。
Fisher Coder

我总是遇到TransportError…
Asqiir

9

我遇到了同样的问题,终于找到了解决方法:

  1. 在git视图中添加或创建git存储库。
  2. 单击新的Java项目菜单,取消选中“使用默认位置”,选择git repo位置,单击“完成”。

Ecplise版本:Mars.2版本(4.5.2)


这非常简单,对我来说效果很好,除非我不打算在项目中使用其他位置。谢谢!
阿基尔'04

你的意思是Git观点?

是的,使用“新建项目”向导从中导入项目。
炸弹zj

8

未解决的核心问题仍然存在:

我的工作目录现在是c:\ users \ projectname.git,因此我尝试使用eclipse的“导入”选项导入项目。当我尝试导入选择“使用新项目向导”选项时,不会导入源代码,如果我导入选择“导入为常规项目”选项,则会导入源代码,但Eclipse创建的创建项目不是Java。项目。选择选项“使用新项目向导”并使用该向导创建新的Java项目时,代码是否应自动导入?

是的,应该。

这是一个错误。在这里报告

这是一种解决方法:

  • 导入为一般项目

  • 请注意,导入的数据不是有效的Eclipse项目(没有可用的构建路径)

  • .project在Eclipse中的项目文件夹中打开xml文件。如果看不到此文件,请参阅如何使Eclipse显示。*文件?

  • 转到source标签

  • 搜索<natures></natures>并将其更改为<natures><nature>org.eclipse.jdt.core.javanature</nature></natures>并保存文件

    (想法来自这里

  • 右键单击该src文件夹,转到Build Path...并单击Use as Source Folder

之后,您应该能够运行和调试项目,并且还可以通过在包资源管理器中单击鼠标右键来使用团队操作。

如果您仍然有运行项目(类似于“找不到主类”)的烦恼,确保<buildSpec>内部.project设置文件(如描述这里):

<buildSpec>
    <buildCommand>
        <name>org.eclipse.jdt.core.javabuilder</name>
        <arguments>
        </arguments>
    </buildCommand>
</buildSpec>

感谢您的回答,但是在无数问题之后,我已经放弃了自我。我只是使用git bash,它很简单,总是可以正常工作,而不是理想的依赖。如果我早点搬家,本来可以节省很多时间的
蓝天

改变.project对我来说还不够。我还必须右键单击项目>属性>项目

你是什​​么意思,你只是在使用git bash?为了我的一生,我根本无法以任何方式将github / bitbucket项目导入Eclipse。我将项目克隆到本地存储库中,然后将文件手动粘贴到eclipse项目中。
user2651804 2015年

问题从2016/01开始仍然存在。再次来到这里阅读我自己的答案。我好厉害
phil294

4

使用命令行是一种选择,并且将不需要Eclipse插件。首先,创建一个目录来保存项目。

mkdir myGitRepo
cd myGitRepo

在您刚创建的目录中克隆所需的存储库。

git clone https://github.com/JonasHelming/gitTutorial.git

然后打开Eclipse并选择您创建的目录(myGitRepo)作为Eclipse Workspace。

不必担心Project Explorer为空,Eclipse尚无法识别源文件。

最后,创建一个与您提取的项目名称完全相同的新Java项目。在这种情况下,它是“ gitTutorial”。

File -> New -> Java Project

此时,项目的子目录应包含从Github提取的文件。请查看我博客中的以下帖子,以获取更详细的说明。

http://brianredd.com/application/pull-java-project-from-github


0

它可以通过两种方式完成:

1.使用克隆Git

2.您可以通过重新排列其中给定的文件夹来手动设置它。分别创建两个文件夹“ src”和“ res”,并放置库提供的适当的类和xml文件。然后从eclipse导入项目并将其制作为库,就是这样。


0

我认为您需要先创建一个分支,然后才能导入本地Eclipse,否则会出现错误,导致无法从Github或Bitbucket导入存储库。


-1

当本地git项目在eclipse中克隆并且在git透视图中可见但在package explorer(workspace)中不可见时,以下步骤对我有用:

  • git透视图中选择存储库
  • 右键单击并选择 import projects
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.