如何使用 EGit 克隆创建 Eclipse 项目
Posted
技术标签:
【中文标题】如何使用 EGit 克隆创建 Eclipse 项目【英文标题】:How to create Eclipse project with EGit clone 【发布时间】:2012-05-03 02:19:43 【问题描述】:在使用 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 中创建一个项目并共享它 - 但是整个项目在存储库中显示为一个子文件夹。如果存储库确实类似于项目,那么这并不是我真正想要的。
我查看了其他看起来相关的 *** 主题,但我担心我仍然缺少一个关于它应该如何工作的关键理解,并且到目前为止看起来非常复杂。
帮助?
【问题讨论】:
【参考方案1】:在 GitLab 中,存储库被称为项目,所以我假设每个 Eclipse 项目应该有一个存储库?
是的,但 GitLab“项目”不一定是 Eclipse 项目。 它不必遵循 SVN 结构,如“Eclipse reference directory outside eclipse project directory but within repository”所示。
您需要做的就是创建一个 Eclipse 项目,将源目录指定为 not 在默认路径(Eclipse 工作区)中,但在您克隆存储库的任何位置(如“@987654322”中所述@")。
这样,您刚刚声明(并在 Eclipse 工作区中引用)的 Eclipse 项目在 Git 存储库的根目录中具有其文件(.project
和 .classpath
)。
然后 Egit 可以很好地管理该项目。
也可以直接用 Egit 导入:“Eclipse + EGit: clone project into workspace”。
正如OP nullpainter 报告如下:
服务器上
.git/objects
文件夹中的无效权限加剧了最初的问题。 在文件夹上运行chmod git:git -R *
解决了这个问题
他在下面详细介绍了正确的设置。
【讨论】:
谢谢;那是一种享受。让我感到困惑的是,如果您选择共享项目,目标位置是 /Users/mattpainter/git/src
文件夹 - 我的 Eclipse (Juno) 版本似乎没有“从现有源创建项目” ,其功能与您描述的方式相同。我目前在我的 Eclipse 工作区中有 .project
和 .classpath
,我认为这是可行的。
对。 “从现有源创建项目”已合并到标准的“新建 Java 项目”对话框中。执行此操作并在共享时“在项目的父文件夹中使用或创建存储库”以避免有关 .project
文件冲突的错误,然后我收到以下错误:An internal Exception occurred during push: dexter:vaultanalyser.git: Missing tree 32f2fe4f5ee5a4e2e7265ac5068a2b17a30b32e4
哈!从控制台再次尝试并遇到权限不足错误后,我发现服务器上的“对象”文件夹中的某些目录归根用户所有。改变这些让一切都变得快乐!【参考方案2】:
为了扩展@VonC 的答案,让 EGit 和 Eclipse 正常运行的步骤是:
从 EGit 中选择“克隆 Git 存储库”,接受所有默认值。这将在您工作区之外的某个位置的 git
父文件夹中创建一个文件夹。
创建一个新的 Eclipse 项目。我正在使用 Java,但我认为其他语言也有类似的步骤。在第一个对话框中,取消选中“使用默认位置”,然后选择在步骤 1 中创建的存储库文件夹。接受所有默认值。
从您的新项目中选择 Team > Share Project...
。选择 Git,然后勾选“在项目的父文件夹中使用或创建存储库”。
现在您可以从 Eclipse 中将您的代码和 Eclipse 点文件推送到您的 git 存储库。
(我最初的问题是由于服务器上 .git/objects
文件夹中的无效权限而复杂化 - 在文件夹上运行 chmod git:git -R *
解决了问题)
【讨论】:
感谢您的反馈 (+1)。我已将其包含在我的答案中以提高知名度【参考方案3】:我使用命令行检查它 - 然后在此基础上构建我的项目。事实上,我最终使用命令行 git 进行大多数操作。 EGit 对于查看差异很有用,但我发现命令行有更多的权力和控制。 Git 主要是为开发人员提供大量的权力和控制权。
【讨论】:
以上是关于如何使用 EGit 克隆创建 Eclipse 项目的主要内容,如果未能解决你的问题,请参考以下文章
egit:设置gitignore忽略所有eclipse项目文件