我尽力使用EGit与GitHub同步一个多模块Maven项目,但我失败了。
项目结构如下:
我试过这个简单的方法:
README.md
文件现在是棘手的部分。我只分享我的父项目吗?还是孩子呢?好吧,仅仅分享父母似乎合乎逻辑。但是当我这样做时,我的构建路径变得非常疯狂,Eclipse无法再找到主类。然后我重新启动了Eclipse。问题依然存在。然后我与存储库“断开”项目并且逻辑上 EGit随机删除了文件系统上的一个子项,并使Eclipse项目完全无法使用(没有类显示,所有结构都消失了)。
我有一个插曲,其中EGit随机删除了我的一个存储库,那次它不仅仅是一个测试,它是我对代码库的实际最新更改。
这种插件是否完全被淘汰或我遗失了什么?
(我按照基本教程设置了所有内容,并正确配置了SSH密钥。)
我应该怎么做才能将本地Maven多模块项目正确推送到GitHub,并且能够在完全不同的PC上克隆它?
答案 0 :(得分:3)
实际上100%可以做到这一点!
这是一种比以前更简单的方法:
<子> *当您选择默认位置时,会自动为您创建子目录,并以您的模块命名。选择不同位置时会自动创建不(这有点不一致,但有意义)。如果您只选择repo作为您的位置,Eclipse / Maven将在您的repo的根目录中生成所有顶级项目文件和目录(pom.xml,.project,src /,。settings,...)目录 - 可能是你想要的,but most likely isn't。 子>
有关它无法正常工作的更复杂的解释,请继续阅读...
这有点复杂,非常不直观。这是一张它看起来如何的图片:
我采取的步骤(确保备份任何重要的东西):
答案 1 :(得分:1)
作为解决方法,我可以提出两点建议:
我参与的项目主要遵循第二种方法(参见例如EMF-IncQuery项目,其中父项存储在http://git.eclipse.org/c/incquery/org.eclipse.incquery.git/tree/中的releng / org.eclipse.incquery.parent中),但如果您的父项pom很少改变,第一种选择也可以很好地发挥作用。
答案 2 :(得分:1)
请注意,此处讨论的所有麻烦和困扰都特定于使用Eclipse的“共享”功能,其中代码直接从源代码管理中检入和退出工作区。你不必使用这些功能 - 所有这些功能都非常完美,没有魔力,也没有压力,如果不这样做的话。
如果你做一个普通的旧git(或svn(或其他))checkout 在你的工作空间外,然后使用Eclipse打开现有项目的功能,将其源放在之外>工作区,一切都会好的。您仍然可以在资源树中进行VCS操作,如果您愿意,您仍然可以从Eclipse内部提交或合并,并且您的多模块Maven项目将无需特殊咒语即可。