您会如何建议在Git-flow或Git中管理特定于客户端的功能和更改请求?客户特定功能应该在专用于客户端的单独分支中吗?(每个客户端都有自己的开发分支分支.)或者它们是否应该位于单独的存储库中?(每个客户端都有一个专用的存储库,主存储库是我们的主存储库.)
听起来你有一个所有客户使用的代码库,然后你有一些"hacks"用于客户端特定的功能.
在我看来,你将拥有主分支上的所有"基本"代码.所有客户都有一个客户特定分支.小心并知道您的更改在哪里.
每隔一段时间,确保你重新设置客户端分支,基本上将它们添加到基本代码中,然后在其上重放所有特定的更改.
重新定位可能会让您感到困惑,直到您看到它的实际效果.
为清晰起见,使用顺序提交号.提交在现实生活中不是数字
Master is at commit 10 \ Branch has commits 10, 11, 12, 13, 14, 15 (notice it has commit 10 as well) | Master commits 16, 17 When you rebase: Master has 10, 16, 17. Branch has 10, 16, 17, 11, 12, 13, 14, 15
这里的顺序非常重要.Rebase将分支倒回到10,应用16和17,然后重放其11,12,13,14和15的更改.
此时,只要没有冲突,分支就与主服务器保持同步并且具有客户端特定的更改.
我会为您的基础和客户创建一个单独的存储库。客户将有一个基地,该基地将有一个远程分支,作为您的基地。当客户需要新版本时,这种方式会容易得多。如果您将所有客户端放在一个存储库中,则必须在开始 git flow 发布之前手动更改集成/开发人员分支。这将限制您为不同客户开发多个版本的能力。
| 归档时间: |
|
| 查看次数: |
598 次 |
| 最近记录: |