就我而言,超级项目足够大,因此它包含多个工件。让我们说项目A,B,C,D,E。他们是不同的git项目。现在我们需要处理两个不同的版本,然后归结为问题我们如何做分支。我最初来自颠覆世界,如果它是SVN,我可能会考虑创建一个超级项目并包含所有子项目A,B,C,D,E,然后我就分开了超级项目。
但就分支而言,从概念上讲,git与SVN有一些区别。只是想知道git world,通常什么是为不同版本分支多个git项目的最佳实践?我知道子模块已被大量讨论,单独分支项目是否有意义?
另一个问题是,如果分支完成,我们如何在不同分支中对工件进行版本化?如果你有两个分支,这意味着你将在两个不同的分支中为所有子项目提供不同的版本,然后你开始闻到失败。
答案 0 :(得分:1)
由于分支非常轻,因此您不必担心为您控制的所有子项目创建它们。大部分工作都包含在一个名为git slave
的项目中。在任何地方处理git submodule foreach
可能会变得乏味,如果您忘记在命令前加上它,就会导致问题。
答案 1 :(得分:0)
子模块或子存储库是拆分更大项目的方法。 每个子模块都有自己的责任,版本和分支。
因此,您必须问自己,您需要更改哪些存储库并对其进行分支。也许从10个子模块中你只需触摸并分支一个或两个,除非它是一个重大的重构,那么你就没有选择。
您可以使用以下命令对所有内容进行分支(在主仓库的根目录中运行)
git checkout -b hacking_away
git submodule foreach git checkout -b hacking_away