版本a"入门套件"在其他项目中工作

时间:2016-05-29 15:06:17

标签: git package git-submodules git-subtree git-subrepo

我的所有项目都有相同的结构,基本文件(每个包含一些代码)。

我想要的东西:

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

我做了一些研究。使用包管理器并不适合我的需要,因为我想在包中添加代码。然后我找到了git子模块和子树,而后者似乎可以完成这项工作。

你怎么看?我是通过选择子树走在正确的道路上还是有更好的方法?我应该使用完全不同的解决方案吗?

谢谢你们

[编辑]

更多信息:

这个"入门套件"有点像一个框架。我考虑以不需要在其他项目中编辑其文件的方式构建它,但这会增加约束。

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

2 个答案:

答案 0 :(得分:0)

只需制作一个主git repo,然后克隆它;您可以为基本文件的不同变体设置不同的分支。

这是非常基本的git用法。

答案 1 :(得分:0)

这看起来过于复杂,但取决于代码库的相似程度以及它们是否实际上是不同的项目,您可能希望使用分支或使用共享代码创建一个repo,然后只是克隆(或者更高兴,添加为子模块)进入其他项目的回购。因此,如果您的共享代码为shared并且您有项目foobar,那么您需要将3个单独的repos和clone(或子模块添加)shared添加到{{} 1}}和foo。这实际取决于您更新bar的频率以及sharedfoo之间的区别