这对我来说是最好的 git 工作流程模型吗?
我有一个通用软件产品,3 个潜在的客户 客户(也许更多)可能会感兴趣。问题是,对于每个客户来说,该通用产品都必须根据他们的具体需求进行修改/定制。
定制或多或少需要:
数据库变更要求
核心模块&功能变化
艺术品图形、徽标等
目前我一直在使用功能工作流程 与我的 5 名以上开发人员团队一起开发通用产品 所有这些都为通用产品存储库做出了贡献,
我们当前的通用产品工作流程是类似的 到这里的这个插图 -
http://nvie.com/posts/a-successful -git-branching-model/
现在,我想做的是改变当前的工作流程 如下所示,以便自定义每个版本 为客户提供的通用产品。
我提议的新 git 工作流程:
假设:
有 3 位客户需要通用产品的特定定制版本。
FORK 从通用存储库中为每个客户创建一个新存储库 例如。
<前><代码>**generic_customerA** **generic_customerB**等等。
- 设置用户/访问权限等。
- 用户克隆特定的存储库,例如。 generic_customerA
- 用户进行更改、创建分支并提交到他的存储库。
- 用户将他的分支与master合并
- 推送到遥控器。
据我所知,唯一值得担心的事情 是为每个客户创建的存储库数量 但为了简单起见和减少存储库管理,这是值得付出的代价 开销对吗?
I have a generic software product that 3 potential clients customers (maybe more) might be interested in. The thing is for every customer this said generic product will have to be modified/customized according to their specific needs.
The customization entails more or less :
database change requirements
core module & functionality changes
artwork-graphics,logos etc.
Currently I have been using the feature workflow for my
generic product development with my team of 5+ developers
all contributing towards the generic product repository
Our current workflow on the generic product is similiar
to this illustration here -
http://nvie.com/posts/a-successful-git-branching-model/
Now, what i want to do is change the current workflow
to something like this below in order to customize every version of the
generic product for a customer.
My proposed new git workflow :
Assumptions :
There are 3 customers that need their own specific customized version of the generic product.
FORK from the generic repository creating a new repository for every customer
eg.**generic_customerA** **generic_customerB**
and so on.
- Setup users/access rights etc.
- User clones the specific repository eg. generic_customerA
- users make changes,creates branches and commits to his repository.
- user merges the his branch with master
- Push to the remote.
From what i can see the only thing worth worrying about
is the amount of repositories that will be created for each customer
but its a price worth paying for simplicity sake and less repository management
overhead right?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您要创建单独的存储库,以便每个客户端的存储库在物理上彼此分离,那么此工作流程就很好。
然后,您的中央存储库将成为这些客户端存储库的上游,这是 git 中非常常见的模型 - 客户端在其分支上的工作定期从您的主存储库中提取并合并更改。
If you are creating the separate repositories so each client's repo is physically separated from each other, then this workflow is fine.
Your central repo then becomes the upstream for these client repos, which is a very common model in git - the clients' work on their branches periodically pulling from your master and merging in the changes.