【问题标题】:git multiple-projects branchinggit 多项目分支
【发布时间】:2012-07-16 10:31:39
【问题描述】:

就我而言,超级项目足够大,因此它包含多个工件。假设项目 A、B、C、D、E。它们是不同的 git 项目。现在我们需要处理两个不同的版本,那么问题就在于我们想要如何进行分支。我最初来自颠覆世界,如果是SVN,我可能会考虑创建一个超级项目并包含所有子项目A,B,C,D,E,然后我只是分支出超级项目。

但是在分支方面,从概念上来说,git 和 SVN 还是有一些区别的。只是想知道在 git 世界中,通常为不同版本分支多个 git 项目的最佳实践是什么?我知道子模块已经讨论了很多,单独分支项目有意义吗?

另一个问题是,如果完成了分支,我们如何在不同的分支中对工件进行版本控制?如果您有两个分支,这意味着您将在两个不同的分支中为所有子项目拥有不同的版本,那么您就会开始闻到失败的味道。

【问题讨论】:

    标签: git git-branch branching-and-merging branching-strategy


    【解决方案1】:

    由于分支非常轻量级,因此您不必担心为您可以控制的所有子项目创建它们。大部分工作都包含在一个名为git slave 的项目中。在任何地方处理 git submodule foreach 可能会变得乏味,并且如果您忘记在命令前加上它,则会导致您的问题。

    【讨论】:

      【解决方案2】:

      子模块或子存储库是拆分更大项目的方法。 每个子模块都有自己的职责、版本和分支。

      因此,您必须问自己需要更改哪些存储库并对其进行分支。也许这10个子模块中你只需要接触和分支一两个,除非是重大重构,否则你别无选择。

      您可以使用以下命令对所有内容进行分支(在主仓库的根目录中运行)

      git checkout -b hacking_away
      git submodule foreach git checkout -b hacking_away
      

      【讨论】:

        猜你喜欢
        • 2013-01-07
        • 2013-07-15
        • 1970-01-01
        • 2013-06-17
        • 2020-08-23
        • 2015-12-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多