【问题标题】:Git "workflow" and branches in a website project网站项目中的 Git“工作流”和分支
【发布时间】:2017-02-11 11:18:36
【问题描述】:

我了解 Git 的基础知识并且可以为自己的目的运行它。但是,如何充分利用它的概念对我来说有点模糊。

现在我已经使用它一两天了,我一直在尝试自己弄清楚。 也许在一个网站项目中(假设是 Drupal)可能有以下分支:

  • 主题
  • 模块
  • 图书馆(也许)
  • 大师(当然)
  • 也许还有一些要测试的东西?

这样我可以理解,例如,一个主题可以使用自己的“主题”分支,最终合并到主分支中。 还是我完全迷失了这个?

我正在寻找的是了解工作流程的具体示例? 如何使用 Git?

【问题讨论】:

  • 你认为你为什么需要分支?你在和其他人一起工作吗?在维护发布线的同时管理需要很长时间开发的新功能?您是否正在尝试通过分支机构解决特定问题?请注意,将项目的单独 部分 放在单独的分支中的想法绝对不是它们的目的。

标签: git version-control web workflow web-site-project


【解决方案1】:

如果需要单独管理主题、模块、库等,可以在不同的分支开发,每次开发完成后合并到master分支。

您可以在 git book 中找到参考 basic branchingbranching workflows 以获得详细示例和理解。

【讨论】:

    【解决方案2】:

    您选择的工作流程实际上取决于您需要从 Git 中获得什么。

    根据我使用 Drupal 的经验,我发现创建 feature branches 更有帮助。工作流程很简单:当您开始开发新功能时,您会为其创建一个新分支。功能完成后,您将其合并到主文件中。 (此工作流程与 Pull Requests 搭配得非常好。与其他人协作时很有帮助。)

    例如:假设您想在您的 Drupal 站点中构建一个复杂、功能丰富的图片库。您可能需要...

    • ..安装一两个模块,甚至可能是一个库。
    • ..更改您的主题。
    • ..并实施测试以确保此功能构建良好。

    如果您使用您建议的分支,您必须在所有 个分支中完成这项工作。至少可以说,这将是困难的。如果您在一个分支中安装模块并构建基本库,为什么要切换到另一个分支以对其进行主题化?

    更不用说,它很快就会变得一团糟:如果您正在同时开发其他功能,和/或与其他开发人员合作,您对该功能的提交将立即与所有其他工作混合在一起,并且很难跟踪您在每个功能上的进度。

    我没有将这项工作拆分到多个分支上,而是启动一个名为“gallery”的新分支,在那里完成我的工作,并在准备好时将其合并到 master 中。每个功能的工作都在其自己的分支中保持隔离,直到完全完成。

    【讨论】:

      猜你喜欢
      • 2012-03-05
      • 1970-01-01
      • 1970-01-01
      • 2019-10-26
      • 1970-01-01
      • 2011-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多