【发布时间】:2018-01-24 01:58:07
【问题描述】:
我有一个项目托管在 git 环境中,我必须基于它生成一个白标项目。我对 Microsoft 的 TFVC(团队基金会版本控制)的经验要丰富得多,我很容易知道如何使用它,但我不确定我应该如何继续使用 git。
在 TFVC 中,我会从主项目创建一个分支“A”,删除任何客户特定的内容,然后就完成了,我有一个通用版本。之后我将删除父级,从'A'创建一个新分支'B',然后从主项目执行baseles合并到'B'所以现在我有了我需要的层次结构,新创建的分支包含所有客户具体变化。当新客户到来时,我从通用的“A”创建一个分支“C”并应用所需的任何新更改。
如果一个新特性是通用的并且对所有客户端都足够有用,它将在“A”中开发,然后将合并到“B”、“C”等。这是最好的方案,因为所有客户端在我看来,将允许请求不同的功能并使用单个存储库打开和关闭它们,这比维护源自一个公共代码的不同示例代码要糟糕得多。相同的功能在不同的客户端也可能表现不同,我不希望应用程序必须在运行时检查它。
解释了场景后,我如何使用 Git 来做到这一点?另外,是否可以使用forks而不是使用git的分支来完成?
【问题讨论】:
标签: git gitlab git-branch