我应该将 git 存储库存储在 Home 还是 Eclipse Workspace 中?
我只是从svn转向git,并热衷于打下一些良好的基础。
默认情况下,Eclipse 希望将我的本地克隆存储库存储在 ~/git 中。我更愿意将任务的所有数据保留在同一工作区中 - 因此我倾向于将其保留在工作区中。
我应该考虑任何重大的利弊吗?
我不打算做很多分支 - 我真的在dvcs路线上,主要是为了克服一些不可靠的互联网通信问题。
我只是从svn转向git,并热衷于打下一些良好的基础。
默认情况下,Eclipse 希望将我的本地克隆存储库存储在 ~/git 中。我更愿意将任务的所有数据保留在同一工作区中 - 因此我倾向于将其保留在工作区中。
我应该考虑任何重大的利弊吗?
我不打算做很多分支 - 我真的在dvcs路线上,主要是为了克服一些不可靠的互联网通信问题。
我在Eclipse中切换到Git,并阅读了这个问题。似乎目前的智慧(尽管不是每个人都同意)是:
习惯不在工作区目录下放置项目。
每组相关的 eclipse 项目都有一个 git 存储库(当然,可能还有更多文件)。“相关项目”的概念取决于您的方便 [*]
对于每个存储库,每个 Java 项目都有一个第一级目录。这意味着您将有一个目录,并且在同一级别上,项目目录。.git/
示例:假设“在 GIT 之前”,您有一个包含多个项目的 eclipse 工作区:
/wk/workspace/.metadata/
/wk/workspace/projXXX/
/wk/workspace/projXXXtest/ (related with the previous)
/wk/workspace/projYYY1/ |
/wk/workspace/projYYY2/ > three related projects
/wk/workspace/projYYY3/ |
/wk/workspace/projZ/ (a project you are not going to version in git)
然后,您将创建两个空目录,每个目录对应一个存储库,例如:
~/repositories/XXX/
~/repositories/YYY/
之后,使用新的 GIT 布局,您将拥有:
/wk/workspace/.metadata/
/wk/workspace/projZ/
~/repositories/XXX/.git/ (XXX related repository - non-bare)
~/repositories/XXX/projXXX/
~/repositories/XXX/projXXXtest/
~/repositories/YYY/.git/ (YYY related repository - non-bare)
~/repositories/YYY/projYYY1/
~/repositories/YYY/projYYY2/
~/repositories/YYY/projYYY3/
Eclipse (EGit) 当您单击 Team->Share 覆盖现有项目并指定(在示例中)为存储库时,Eclipse (EGit) 会为您完成所有这些操作(作为“工作目录”,将“存储库中的路径”留空)。~/repositories/XXX/.git/
~/repositories/XXX/
[*]请记住,从 Git 的角度来看,每组项目都只是存储库中的一组目录。一些相关的含义:在上面的例子中,你永远不会在Eclipse工作区中同时拥有两个不同的项目分支/版本;而且,例如,当您标记项目提交时,您实际上是在标记完整的存储库(项目组)提交。projYYY1
projYYY2
应该是工作树所在的位置(即表示您正在处理的当前分支的当前 HEAD 的文件).git
请记住,对于 Git,分支不是目录(与 SVN 相反),因此您的工作树将直接表示分支内容,而不是多个目录(对于您的各种分支),后跟每个分支的内容。
我通常喜欢将我的项目源代码与 Eclipse 工作区分开,但这是一个偏好问题。