我正在尝试使用GIT确定使用相同的公共代码库构建多个软件产品的最佳方法。
我最初的计划是拥有一个包含公共代码/框架的主分支,并让不同的产品成为分支。我认为随着代码库的建立,当我执行rebase时,它会花费更长的时间到可能变得麻烦的程度。我不知道这会有多糟糕,但这可能是一个潜在的问题。
有没有人有更好的方法来做这个或是最好的选择?
答案 0 :(得分:1)
我建议做合并而不是rebase。这样你就只会处理自上次合并以来发生的任何变化。
但最好的选择是模块化您的代码,这样您就不需要单独的分支。
答案 1 :(得分:1)
我会看一下使用“git submodule”http://book.git-scm.com/5_submodules.html
这应该允许您将公共代码作为自己的存储库,并将其作为子模块简单地包含在其他项目中。
答案 2 :(得分:0)
您可能希望应用this方法。只需考虑每个产品的本地特性,开发,发布和修补程序分支。主人将是所有人共同的,这意味着共享代码中的修复将被推送到主人,然后在他们迭代时自动被吸收到其他产品中。
您当前正在考虑的问题与此问题之间的区别在于,还有一个额外的合并步骤,这会强制您定期处理冲突,从而使您遇到的冲突数量非常易于管理