我是开始迁移到 Git 的典型 Eclipse/Subversion 用户。我研究了 git 的基本概念,并决定最初坚持每个存储库一个项目的方法,以保持简单。不过,在决定将每个项目的存储库放置在哪里时,我仍然遇到了麻烦。
我花了很多时间来查看这个问题的答案,尽管我相信那个问题的作者假设你只能使用 Eclipse 来管理存储库,如果存储库位于 Eclipse 工作区中,当然,不对。
然而,这个问题最让我印象深刻的是,除了一个答案(包括接受的答案)之外,所有答案都建议将存储库保留在 Eclipse 工作区中,而只有一个答案指出EGit 用户指南建议完全相反.
然而,在实践中,Eclipse/EGit 实现了许多方法,其中一些似乎与 EGit 的建议相矛盾。
例如,如果您使用新建项目向导从 Git 创建一个新的 PHP 项目并且存储库是远程的,Eclipse/EGit 将愉快地在 Eclipse 工作区中创建一个项目文件夹并将存储库 (.git) 放在项目文件夹中。这是我真正想要的最终结果,因为它将所有内容都封装在 Eclipse 工作区中。
但是,如果您使用新建项目向导并选择本地的 Git 存储库,Eclipse/EGit 不会像克隆远程存储库那样克隆存储库。相反,它使用该存储库的工作副本作为项目位置,在该位置创建其 .project 和其他元数据,并在该工作副本中创建一个与您的项目同名的新(看似不必要的)文件夹(所以你结束例如, ~/git/blah/blah
)。如果您删除了多余的文件夹,您最终会得到与第一个示例相同的结构,唯一的区别是项目文件夹不是 Eclipse 工作区文件夹的子文件夹,它位于文件系统的其他位置(例如.~/git/blah
)。这种方法似乎唯一的积极之处在于它遵守了 EGit 用户指南中的建议,但从技术角度来看,很难看出这与第一个示例有何不同。
鉴于这些令人费解的观察,我想知道人们在使用这些方法中的每一种都有什么样的体验,以及如果忽略 EGit 用户指南中的建议可能会遇到什么陷阱。