Java 如何使用分支在Git中实现模块化项目开发?

Java 如何使用分支在Git中实现模块化项目开发?,java,eclipse,git,versioning,egit,Java,Eclipse,Git,Versioning,Egit,我想在我的新java项目中使用Git,我将在Eclipse中使用java进行开发。所以我计划使用eclipse的Egit插件 现在,有多个成员在这个项目上工作,每个成员分配了不同的模块。为每个开发人员创建分支可以吗?一个主分支,用于在特定版本构建结束时将所有分支合并到其中 在依赖关系和代码冲突的情况下,此计划是否有效?就像一个模块的代码试图调用另一个模块尚未开发的方法一样。两个不同的开发人员修改了相同的文件,并在各自的分支中提交了文件。您应该阅读一些关于分支策略的文档,例如 如今,大多数开发团队

我想在我的新java项目中使用Git,我将在Eclipse中使用java进行开发。所以我计划使用eclipse的Egit插件

现在,有多个成员在这个项目上工作,每个成员分配了不同的模块。为每个开发人员创建分支可以吗?一个主分支,用于在特定版本构建结束时将所有分支合并到其中


在依赖关系和代码冲突的情况下,此计划是否有效?就像一个模块的代码试图调用另一个模块尚未开发的方法一样。两个不同的开发人员修改了相同的文件,并在各自的分支中提交了文件。

您应该阅读一些关于分支策略的文档,例如


如今,大多数开发团队都在使用所谓的功能分支/任务分支


如今,大多数开发团队都在使用所谓的功能分支/任务分支。

在一个持续3年的项目中,我与200多人的团队一起使用过git和eclipse。让我澄清几件事:

  • 如果您的某个开发人员依赖尚未交付的代码,eclipse会将其作为错误引用,并停止帮助您的开发人员。您的开发人员仍然可以使用eclipse,但它只与任何文本编辑器(如记事本)一样有用
  • git的理念是让他们在本地工作区的一个私有分支上工作,这样他们就不必依赖中央服务器进行更新。所以本质上,它们不像CVS或ClearCase那样使用公共分支。对私有存储库进行更新和提交,团队的其他成员不受此影响。本质上,除非您愿意,否则您的分支永远不会处于不良状态
  • 这是我们使用的模型:

  • 基线分支将由构建团队发布
  • 每个开发人员根据自己的代码完成状态,从他们的私有存储库发布了一个分支/标记(在他们自己的系统上,随着我们的项目多年来的发展,标记会变得更轻)。此代码将基于构建团队发布的当前基线进行重定
  • 然后,开发人员将请求构建团队将其代码合并到下一个基线的主分支中
  • 构建团队将以预定的方式获取所有这些已发布的分支,并合并它们并发布新的基线
  • 然后,将使用以下策略之一处理任何合并冲突:
    • 如果合并冲突很简单,将邀请两个开发人员中的一个或两个来决定如何合并
    • 如果是复杂的,则从合并中删除代码,并通知开发人员在新基线上进行合并,然后为下一个基线重新发布代码
  • 任何依赖于构建团队未发布的代码的开发人员,都会在征得目标开发人员的同意后直接从目标开发人员那里获取代码并继续工作
  • 注: 要使用的有用git工具和命令:

  • GitGUI
  • 吉特
  • git标签
  • 吉特重基
  • 注意:构建团队必须在处理git方面有一定的熟练度,才能正确使用git并发布干净的分支供您的团队使用

    一些建议: 1.Commit通常解释提交代码的目的。 2.使提交更小,以帮助简化合并。 3.不要更改已发布的分支,这将有助于减少很多痛苦(不重新设置已发布分支的基础,特别是在有人已经获取它们的情况下)


    Git是一个很好的工具,我相信一旦你使用了它,就很难回到clearcase、cvs等传统工具。

    我与200多人的团队在一个持续3年的项目中使用了Git和eclipse。让我澄清几件事:

  • 如果您的某个开发人员依赖尚未交付的代码,eclipse会将其作为错误引用,并停止帮助您的开发人员。您的开发人员仍然可以使用eclipse,但它只与任何文本编辑器(如记事本)一样有用
  • git的理念是让他们在本地工作区的一个私有分支上工作,这样他们就不必依赖中央服务器进行更新。所以本质上,它们不像CVS或ClearCase那样使用公共分支。对私有存储库进行更新和提交,团队的其他成员不受此影响。本质上,除非您愿意,否则您的分支永远不会处于不良状态
  • 这是我们使用的模型:

  • 基线分支将由构建团队发布
  • 每个开发人员根据自己的代码完成状态,从他们的私有存储库发布了一个分支/标记(在他们自己的系统上,随着我们的项目多年来的发展,标记会变得更轻)。此代码将基于构建团队发布的当前基线进行重定
  • 然后,开发人员将请求构建团队将其代码合并到下一个基线的主分支中
  • 构建团队将以预定的方式获取所有这些已发布的分支,并合并它们并发布新的基线
  • 然后,将使用以下策略之一处理任何合并冲突:
    • 如果合并冲突很简单,将邀请两个开发人员中的一个或两个来决定如何合并
    • 如果是复杂的,则从合并中删除代码,并通知开发人员在新基线上进行合并,然后为下一个基线重新发布代码
  • 任何依赖于构建团队未发布的代码的开发人员,都会在征得目标开发人员的同意后直接从目标开发人员那里获取代码并继续工作
  • 注: 要使用的有用git工具和命令:

  • GitGUI
  • 吉特
  • git标签
  • 吉特重基
  • 注意:构建团队必须对