2013-12-20 40 views
1

我“米将不得不重新组织,以便使用与Eclipse的git我的目录/文件夹结构,因为不应该回购的被定位在工作区内。目录结构使用Git与Eclipse

被一个git新手我想确认我的预期结构在我开始重新组织和初始化回购前是有意义的

我当前的工作空间包括一个Android项目,一个GAE/J项目,一些共享代码除了一些第三方库,我的项目密切相关,所以我打算把它们放到一个单一的回购中。这是我提出的结构:

root_dir/ 
    workspace/ 
    .metadata 
    .git    (<--- main git repo for my projects) 
    GAE_Project/ 
    .project 
    src/war/etc. 
    Android_prject/ 
    .project 
    src/bin/etc. 
    Shared_Code_Project/ 
    .project 
    src/etc. 
    3rd_Party_Lib_Project/ 
    .git    (<--- has its own repo) 
    .project 
    src/bin/etc. 
+0

该“主Git回购”的目的是什么? – janos

+0

我的'主'git回购将用于我的3个项目,这些项目密切相关,所以我经常进行涉及所有三个代码的更改。 – Tom

+0

工作区不应该在回购中。除了关于其包含的项目的信息之外,工作空间还经常包含特定于机器的信息。 – nitind

回答

0

根据您提出的结构,它似乎所有workspace下的项目是在一个库中。你提出的结构没问题,但我可以看到一个警告。您可能不得不忽略第三方项目,因为它位于workspace(这是Git存储库)。

Eclipse项目不一定必须位于工作区目录中。它可以位于系统的任何位置。将第三方项目放在不同的目录中可能会更好。

+0

我想我会'git'将3个主要项目的相关部分添加到我的主要git存储库,并且git会简单地忽略其余部分,因为它没有被添加?这是否会让git变慢 - git会扫描git文件夹中的所有内容吗? – Tom

+0

从某种意义上说,是的,工作区目录下的所有东西都将被扫描。 'git add'命令意味着这些文件/目录将被索引。未被忽略且未被编入索引的文件将处于未决状态。这会使得拉和合并更困难。 – ChristopherZ

0

只要您的回购处于您的工作区之外,它们与工作区相关的位置并不重要。在你的例子中root_dir包含了工作空间和你的项目,我想指出工作空间可能在/some/random/path,你的项目可能是/at/totally/different/path,它们之间的相对位置应该没有关系。

我在本地保留了unix中的~/dev/git/和Windows中的/c/dev/git

我希望我的工作区保留在Eclipse中,这是我弹出的第一个目录,有时候是~/Documents/workspace%USERDIR%\workspace。通常我甚至不知道我的工作区在哪里,这并不重要,因为重要和有趣的部分是我的代码在哪里。

+0

是的,现在我意识到这样做更好,但我一直将我的项目保存在我的工作区文件夹中 - 不知何故,这似乎合乎逻辑。但我不同意你的陈述,即相对位置无关紧要 - 从我读过的内容可以清楚地看出,你不应该在工作空间目录中或下面存在回购站。 – Tom

+0

陈述1:“工作空间和本地回购的相对位置应该无关紧要”和2:“回购不应位于工作空间之下”都是真实的并且彼此完全独立。所以我不明白你不同意。 – janos

+0

我正盯着你的评论,而不是理解它。对于我的陈述#2,我正在描述应该避免的回购和工作空间的相对位置 - 因此它们的相对位置很重要。我错过了什么? – Tom