如何使用EGit clone创建Eclipse项目

时间:2012-04-22 00:10:03

标签: eclipse egit gitolite gitlab

在与SVN共度十年之后,我终于接受了Git的抨击。我在服务器上设置了Git,Gitolite和GitLab,并成功地将代码添加到我的本地存储库,已提交,克隆的存储库并将代码推送回存储库。到现在为止还挺好。现在进入EGit ......

我使用Git Repository Exploring视图克隆了一个存储库,使用以下路径语法:

ssh://dexter:vaultanalyser.git

(在GitLab中,存储库被称为项目,所以我假设我应该在每个Eclipse项目中拥有一个存储库?而不是包含多个项目的SVN样式的单父存储库? )

将存储库导入:

/Users/mattpainter/git/vaultanalyser

我希望这一步能够通过所有源为我自动创建一个Eclipse项目,但事实并非如此。我试着捏造目标目录,所以它在我的工作区中,但这也不起作用。

如何在Eclipse中获取克隆源? This site意味着如果你创建一个与存储库同名的项目,那一切都神奇地起作用,但事实并非如此(是的,我知道这篇文章是关于Github,而不是GitLab,但我认为两个人足够接近手头的任务。)

然后我尝试在Eclipse中创建项目并共享它 - 但随后整个项目显示为存储库中的子文件夹。如果存储库确实类似于项目,那么这不是我想要的。

我查看了其他看起来相关的StackOverflow主题,但我担心我仍然缺少一个关于如何工作的关键理解,到目前为止看起来都非常复杂。

帮助?

3 个答案:

答案 0 :(得分:3)

  

在GitLab中,存储库被称为项目,所以我假设每个Eclipse项目应该有一个存储库?

是的,但是GitLab"项目"不一定是Eclipse之一 它不必遵循SVN结构,如" Eclipse reference directory outside eclipse project directory but within repository"中所示。

您需要做的就是创建一个Eclipse项目,在默认路径(Eclipse工作区)中指定的源目录,但是在克隆您的repo的任何地方(如&#34中所述) ; Getting started with Eclipse + EGit - confused&#34)
。 这样,您刚刚声明(并在Eclipse工作区中引用)的eclipse项目的文件(.project.classpath)位于Git repo的根目录。 然后Egit可以很好地管理该项目 或者您可以使用Egit直接导入它:" Eclipse + EGit: clone project into workspace"。


正如OP nullpainter报告如下:

  

原始问题因服务器上.git/objects文件夹中的无效权限而更加复杂   在文件夹上运行chmod git:git -R *解决了问题

他详细介绍了下面的正确设置。

答案 1 :(得分:3)

为了扩展@VonC的答案,让EGit和Eclipse发挥得很好的步骤是:

  1. 从EGit中选择“克隆Git存储库”,接受所有默认值。这将在git父文件夹中创建一个文件夹,位于工作区之外的某个位置。

  2. 创建一个新的Eclipse项目。我正在使用Java,但我认为其他语言也有类似的步骤。在第一个对话框中,取消选中“使用默认位置”,然后选择在步骤1中创建的存储库文件夹。接受所有默认值。

  3. 从新项目中选择Team > Share Project...。选择Git,勾选“在项目的父文件夹中使用或创建存储库”。

  4. 现在,您可以从Eclipse中将代码和Eclipse点文件推送到git存储库。

    (我的原始问题因服务器上.git/objects文件夹中的无效权限而加剧 - 在文件夹上运行chmod git:git -R *解决了问题)

答案 2 :(得分:0)

我用命令行检查它 - 然后在那之上构建我的项目。实际上,我最终使用命令行git进行大多数操作。 EGit对于查看差异很有用,但我发现命令行有更多的功能和控制。 Git主要是为开发者提供大量的权力和控制权。