我是一个典型的Eclipse/Subversion用户,开始迁移到Git.我研究了git的基本概念,并决定最初坚持每个存储库方法的一个项目,以保持简单.不过,我仍然遇到麻烦,决定在哪里为每个项目放置存储库.
我花了很多时间来回顾这个问题的答案,虽然我相信这个问题的作者假设如果存储库位于Eclipse工作区内,那么你只能使用Eclipse来管理存储库,当然,不对.
然而,最令我印象深刻的是,除了一个答案(包括已接受的答案)之外的所有答案都建议将存储库保留在Eclipse工作区内,而只有一个答案指出EGit用户指南建议完全相反.
然而,实际上似乎Eclipse/EGit实施了许多方法,其中一些方法似乎与EGit建议相矛盾.
例如,如果您使用New Project Wizard从Git创建一个New PHP Project并且存储库是远程的,Eclipse/EGit将很乐意在Eclipse工作区中创建一个项目文件夹,并将存储库(.git)放在项目文件夹中.这是我真正想要的最终结果,因为它保留了封装在Eclipse工作区中的所有内容.
但是,如果使用"新建项目向导"并选择本地的Git存储库,则Eclipse/EGit不会像对远程存储库那样克隆存储库.相反,它使用该存储库的工作副本作为项目位置,在该位置创建其.project和其他元数据,并在该工作副本中创建一个新的(看似不必要的)文件夹,其名称与项目相同(所以你结束例如, ~/git/blah/blah).如果删除多余的文件夹,最终会得到与第一个示例相同的结构,唯一的区别是项目文件夹不是Eclipse工作区文件夹的子文件夹,它位于文件系统的其他位置(例如.~/git/blah)这种方法似乎唯一有利的一点就是它遵守了EGit用户指南中的建议,但从技术角度来看,很难看出这与第一个例子有什么不同.
鉴于这些令人费解的观察结果,我想知道人们使用这些方法的经历是什么样的,如果忽略了EGit用户指南中的建议,可能会有什么陷阱.
Ban*_*zen 25
这两种解决方案的含义直接列在您链接的用户指南中.我可以告诉你那个部分
这可能会导致性能问题
不幸的是,这是真的.因此,如果您的工作空间中有一个包含大量文件的git目录,那么许多git操作将以"计数对象..."对话框开始,该对话框会阻止您的IDE,因为它会扫描工作区中的所有文件.对于我当前的20000个文件,这意味着每次提交,每个开关等待10到20秒......
在业余时间活动中,幸运的是我可以使用其他替代方案(在工作区外有git工作目录),一切都变得更加快捷,合并和切换很有趣.
因此,如果您选择大型项目,请将工作空间外的git目录视为首选.