2016-05-29 42 views
0

我所有的项目都有相同的结构,基本文件(每个包含一些代码)。版本在其他项目中工作的“入门工具包”

事情我想:

  • 版本的代码;
  • 在其他项目中使用它;
  • 能够在这些项目中进行更新;
  • 只在这些文件中添加代码,特定于每个项目(不需要删除或更改现有代码)。

我做了一些研究。使用包管理器不适合我的需要,因为我想将代码添加到包中。然后我发现了git submodules和subtrees,后者似乎完成了这项工作。

您对此有何看法?我是通过选择子树进入正确的路径还是有更好的方法?我应该使用完全不同的解决方案吗?

由于球员

[编辑]

更多的相关信息:

该 “起动试剂盒” 是有点像一个框架。我正在考虑以不需要在其他项目中编辑其文件的方式构建它,但这会增加约束条件。

  • 我不认为子模块适合我需要在代码上工作;
  • 每个项目都需要自己的回购。

回答

0

只要做一个主git回购,并克隆;你可以为你的基础文件的不同变体设置不同的分支。

这是非常基本的git用法。

+0

在“入门套件”回购中为每个项目创建一个分支不是一个好主意。由于多种原因,每个项目都需要自己的回购。 –

+0

@AndréaMaugars不是每个项目,每个“骨架变化”。 –

+0

我并没有说你应该把所有的项目都放在同一个回购@AndréaMaugars中。我说你应该克隆一个“模板回购”。从根本上说,这是不同的。 –

0

这看起来过于复杂,但取决于代码库的相似程度以及它们是否实际上是不同的项目,您可能希望使用分支或使用共享代码创建一个回购,然后仅克隆(或更有趣,添加为一个子模块)进入其他项目的回购。因此,如果您的共享代码是shared,并且您有项目foobar,您需要制作3个单独的回购和克隆(或子模块添加)sharedfoobar。这取决于你多久更新一次shared以及foobar如何分别是

+0

'foo'和'bar'可能是完全不同的项目,但它们将建立在相同的结构和代码上。我对子模块的理解是非常有限的。我认为我想在每个项目中编辑子模块的事实都会有问题。 –

+0

叉怎么样? – marisbest2

+0

叉子可能是个好主意。我会尝试更新这篇文章。 –

相关问题