我是一名典型的 Eclipse/Subversion 用户,开始迁移到 Git。我研究了 git 的基本概念,并决定一开始坚持每个存储库一个项目的方法,以保持事情简单。不过,我仍然无法决定将每个项目的存储库放置在哪里。
我花了很多时间查看答案这个问题 https://stackoverflow.com/questions/7906045/git-eclipse-workflow,尽管我相信该问题的作者假设如果存储库位于 Eclipse 工作区中,则只能使用 Eclipse 来管理存储库,这当然不是真的。
不过,这个问题最让我印象深刻的是,除了一个答案(包括已接受的答案)之外,所有答案都建议将存储库保留在 Eclipse 工作区中,而只有一个答案指出Egit 用户指南 http://wiki.eclipse.org/EGit/User_Guide#Considerations_for_Git_Repositories_to_be_used_in_Eclipse建议恰恰相反。
然而,在实践中,Eclipse/EGit 实现了许多方法,其中一些似乎与 EGit 建议相矛盾。
例如,如果您使用新建项目向导从 Git 创建一个新的 PHP 项目,并且存储库是远程的,Eclipse/EGit 会很乐意在 Eclipse 工作区中创建一个项目文件夹,并将存储库 (.git) 放入项目文件夹中。这是我真正想要的最终结果,因为它将所有内容都封装在 Eclipse 工作区中。
但是,如果您使用新建项目向导并选择本地的 Git 存储库,Eclipse/EGit 不会像远程存储库那样克隆该存储库。相反,它使用该存储库的工作副本作为项目位置,在该位置创建其 .project 和其他元内容,并在该工作副本中创建一个新的(看似不必要的)文件夹,其名称与您的项目相同(因此您结束例如,~/git/blah/blah
)。如果删除该多余的文件夹,您最终会得到与第一个示例相同的结构,唯一的区别是项目文件夹不是 Eclipse 工作区文件夹的子文件夹,它位于文件系统上的其他位置(例如。~/git/blah
)。这种方法似乎唯一积极的一点是它遵循了 EGit 用户指南中的建议,但从技术角度来看,很难看出这与第一个示例有何不同。
鉴于这些令人费解的观察结果,我想知道人们使用这些方法中的每一种都有什么样的经历,以及如果忽略 EGit 用户指南中的建议可能会出现哪些陷阱。
这两种解决方案的含义都直接列在您链接的用户指南中。我可以告诉你这部分
这可能会导致性能问题
不幸的是,这是非常真实的。因此,如果您的工作区中有一个包含大量文件的 git 目录,则许多 git 操作将以“计数对象...”对话框开始,该对话框会阻止您的 IDE,因为它会扫描工作区中的所有文件。对于我当前的 20000 个文件,这意味着每次提交、每次切换都要等待 10 到 20 秒……
在业余时间活动中,幸运的是我可以使用其他替代方案(在工作区之外使用 git 工作目录),一切都感觉更加快捷,并且合并和切换很有趣。
因此,如果您要进行大型项目,请考虑将工作区之外的 git 目录作为首选。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)