我见过类似的问题,但有些问题已经很老了,有些问题并不是我正在寻找或没有答案。
我在/workspace/project1
和/workspace/project2
下的Eclipse中有项目。它们是Gradle项目,彼此依赖。我也有/workspace/project3
这是一个Gradle项目但是独立。
我需要将它们“上传”到Bitbucket上的git repo。我安装了EGit来帮助我。它问我当地的回购地点在哪里,我不知道该说些什么。我应该为每个工作区或每组依赖项目创建一个仓库还是什么?
例如,当我右键单击某个项目并按Team > Share > Git
时,我会进入此对话框,但我不知道应该填写哪些内容。
答案 0 :(得分:1)
要理解/记住的一些事情:
%USER_HOME%/git/name-of-repo
。同样,这不是一个硬性要求,用户可以选择在他们选择的任何位置克隆或创建回购。因此Eclipse eGit向您展示了这两个轴的灵活性。它询问您要在哪里创建本地git仓库,这通常与您的工作区文件夹不同。使用“创建...”按钮创建它。我认为在那时它会自动填充存储库字段中的 Path。如果没有,您可以将该路径命名为您想要的任何内容(通常与项目名称相同,但不一定如此)
在它的最后,你将拥有你的工作区(逻辑容器)以及一个本地git仓库,它将是项目内容的物理位置。
答案 1 :(得分:1)
每个(non-bare)git存储库都有一个工作目录,其中存储了当前签出的提交文件(称为HEAD
)。
默认情况下,工作目录是git元数据目录(名为.git
)的父目录,但可以通过config setting分离。例如:git config core.worktree /path/to/workdir
EGit无法处理具有分离工作目录的存储库,如下所示:EGit working directory not under the local repository
但无论此限制如何,您都无法在多个工作区之间拆分git存储库的工作目录。
因此,您应该将项目移动到工作目录以使其类似于此结构:
~/git/my-repo/.git
~/git/my-repo/project1
~/git/my-repo/project2
~/git/my-repo/project3
如果project3
独立于其他人,则可能会保留在原来的位置或完全位于其他地方。
当计划将相互依赖的项目分布在几个git存储库中时要谨慎。这使得git存储库也有效地相互依赖,但没有git具有依赖管理工具。
要让EGit移动项目,您可以在 Path in repository 输入字段中输入project1
。
常用的构建文件(如master pom.xml或相应的Gradle文件)将位于工作目录的根目录中。这也简化了Travis,Codeship和朋友等流行构建服务的配置。