0

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

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

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

4

2 回答 2

1

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

于 2012-07-16T10:42:57.610 回答
0

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

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

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

git checkout -b hacking_away
git submodule foreach git checkout -b hacking_away
于 2012-07-16T10:36:55.653 回答