3

在使用 SVN 十年后,我终于开始尝试使用 Git。我已经在服务器上设置了 Git、Gitolite 和 GitLab,并已成功地将代码添加到我的本地存储库、提交、克隆存储库并将代码推送回存储库。到目前为止,一切都很好。现在进入EGit...

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

ssh://dexter:vaultanalyser.git

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

这会将存储库导入:

/Users/mattpainter/git/vaultanalyser

我期待这一步会自动为我创建一个包含所有源代码的 Eclipse 项目,但事实并非如此。我尝试伪造目标目录,使其在我的工作区中,但这也不起作用。

如何在 Eclipse 中获取可用的克隆源?这个网站暗示如果你创建一个与存储库同名的项目,这一切都会神奇地工作,但事实并非如此(是的,我知道这篇文章是关于 Github,而不是 GitLab,但我认为两者很接近足以完成手头的任务)。

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

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

帮助?

4

3 回答 3

3

为了扩展@VonC 的答案,让 EGit 和 Eclipse 正常运行的步骤是:

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

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

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

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

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

于 2012-04-22T08:13:16.370 回答
3

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

是的,但 GitLab“项目”不一定是 Eclipse 项目。
它不必遵循 SVN 结构,如“ Eclipse 项目目录外但存储库内的 Eclipse 参考目录”中所示。

您需要做的就是创建一个 Eclipse 项目,指定源目录不在默认路径(Eclipse 工作区)中,而是在您克隆存储库的任何位置(如“ Eclipse + EGit 入门 - 混淆”中所述)。
这样,您刚刚声明的 Eclipse 项目(并在 Eclipse 工作区中引用)在 Git 存储库的根目录中具有其文件 (.project和)。 然后 Egit 可以很好地管理该项目。 或者你可以直接用 Egit 导入:“ Eclipse + EGit: clone project into workspace ”。.classpath


正如OP nullpainter报告如下:

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

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

于 2012-04-22T00:35:51.223 回答
0

我用命令行检查它——然后在此基础上构建我的项目。事实上,我最终使用命令行 git 进行了大多数操作。EGit 对于查看差异很有用,但我发现命令行有更多的权力和控制力。Git 主要是为开发人员提供大量的权力和控制权。

于 2012-04-22T00:32:19.027 回答