我应该将 git 存储库存储在 Home 还是 Eclipse Workspace 中?

2022-09-01 00:11:46

我只是从svn转向git,并热衷于打下一些良好的基础。

默认情况下,Eclipse 希望将我的本地克隆存储库存储在 ~/git 中。我更愿意将任务的所有数据保留在同一工作区中 - 因此我倾向于将其保留在工作区中。

我应该考虑任何重大的利弊吗?

我不打算做很多分支 - 我真的在dvcs路线上,主要是为了克服一些不可靠的互联网通信问题。


答案 1

我在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工作区中同时拥有两个不同的项目分支/版本;而且,例如,当您标记项目提交时,您实际上是在标记完整的存储库(项目组)提交。projYYY1projYYY2


答案 2

应该是工作树所在的位置(即表示您正在处理的当前分支的当前 HEAD 的文件).git

请记住,对于 Git,分支不是目录(与 SVN 相反),因此您的工作树将直接表示分支内容,而不是多个目录(对于您的各种分支),后跟每个分支的内容。

我通常喜欢将我的项目源代码与 Eclipse 工作区分开,但这是一个偏好问题。


推荐