Cod*_*ace 44 eclipse git repository repository-pattern egit
我正在从SVN迁移到Git.在SVN中,我在一个SVN存储库中有多个eclipse项目,便于浏览项目.我打算在每个eclipse项目中使用一个git存储库,但EGit建议不这样做.
EGit指南建议将多个项目放入一个Git存储库中.
查看类似的问题,例如每个存储库建议一个项目.
哪种方法是最佳实践,人们实施什么?
rob*_*nst 46
这取决于这些项目的密切关系.问自己以下问题:
如果你把它们全部放在一起,上面的一些东西会更容易.您只需要在一个存储库中进行分支/标记/存储/提交,而不是单独为每个存储库执行此操作.
但是,如果您需要为项目提供单独的发布周期,则必须将每个项目放在一个独立的存储库中.
请注意,您以后可以随时拆分存储库,或者将多个存储库再次合并为一个存储库,而不会丢失历史记录.
组合比拆分要难得多,所以我先找一个存储库看看它是怎么回事.
Pet*_*oes 17
我每个项目使用1个回购.
一些推理:
当你发现在几次提交之后搞砸了一些东西时,当它只是一个项目时,它更容易修复.试想一下,你确实提交了其他两个项目,现在你需要修复你在第三个项目上做的提交.
正如Fedir所说,你的历史和日志更加清晰.它只显示该项目的提交.
它与我的开发工作流程相比更好.我有一个主分支用于生产,开发分支,以及开发,我创建分支来实现功能(您可以在这里阅读更多相关信息:http://blog.avirtualhome.com/development-workflow-using-git/)
当你在团队中工作,并"分享"git repo时,团队成员是否真的需要所有其他项目?
只是一些想法,但它归结为:做什么对你有用.
Dan*_*OMS 17
我有多个项目(Eclipse项目),并尝试过不同的东西,以找出在实际日常开发方面最有效的方法.这是我发现的,我认为如果他们跟踪结果并客观地分析结果,大多数人会发现同样的事情.
简而言之,应用以下规则将获得最佳结果:
以下准则说明了此过程,以确定更详细地放入同一存储库中的项目:
如果项目没有与任何其他项目紧密相关(例如,项目可以在没有打开其他项目的情况下打开,并且没有其他项目依赖于打开时打开的项目)那么你一定要把它放在自己的存储库中由于上述答案中解释的原因.
如果一个项目依赖于其他项目或其他项目取决于项目,那么它归结为它们彼此之间的联系,它们如何被打包在一起以及它们彼此之间的分离是多么容易.
A)例如,包含用于测试主项目的类的junit测试类的测试项目是两个项目彼此非常连接的情况,可以容易地打包在一起并且不能容易地彼此分离.由于下面C部分解释的原因,这些项目应放在同一个存储库中.
B)在一个项目依赖于另一个项目来提供某种共享资源的情况下,它实际上归结为它们可以一起管理的程度以及它们彼此分离的容易程度.例如,如果许多项目依赖具有共享资源的项目,那么它应该放在自己的存储库中,因为其他不相关的项目会受到共享源代码项目更改的影响.在这种情况下,共享资源项目应与依赖项目分离,而不是直接连接到依赖项目.(例如,最好创建版本化的归档文件[例如名为"projectName".1.0.1.0.jar的Jar文件]并在每个项目中包含这些文件的副本,而不是通过链接项目来共享资源一起.)
C)如果连接多个项目,可以很容易地一起管理,但不能轻易地彼此分离,那么它取决于它们彼此之间的紧密联系.
I)如果将项目放入一个存储库,那么每次有提交时,项目将在存储库中保持彼此同步,如果项目紧密连接,这可以真正节省生命.但是,这也会产生上述答案中提到的问题.
II)如果将项目放入单独的存储库中,那么您必须注意保持提交彼此同步,并确保包含某种机制来指示哪些提交属于项目中的同一个同步点(当在项目中完成一组提交时,可能会在每个项目的提交注释中包含相同的同步点编号.)
III)因此,在这种情况下,将这些项目组合到一个存储库中几乎总是更好,以减少人工同步提交的开销,并在需要撤销提交时避免人为错误.将它们放在单独的存储库中的唯一时间是,只有一个项目定期更改而其他连接的项目很少更改.
| 归档时间: |
|
| 查看次数: |
23147 次 |
| 最近记录: |