Git与克隆
我已经为一个名为“a”的客户端开发了一个应用程序(其实不是) 我发现它很酷,我也想把它卖给其他客户。目录“A”是Git存储库。我想我克隆它有问题。据我所知,我需要复制目录'a',并称之为'Generic_a'。然后删除dir'A'并执行“git clone Generic_A A”,然后我可以开始更改'Generic_A'-repo,并删除所有客户端引用。但事实并非如此。我应该开始做一般设计,然后克隆repo以更改为特定于客户的设计 我可以:Git与克隆,git,Git,我已经为一个名为“a”的客户端开发了一个应用程序(其实不是) 我发现它很酷,我也想把它卖给其他客户。目录“A”是Git存储库。我想我克隆它有问题。据我所知,我需要复制目录'a',并称之为'Generic_a'。然后删除dir'A'并执行“git clone Generic_A A”,然后我可以开始更改'Generic_A'-repo,并删除所有客户端引用。但事实并非如此。我应该开始做一般设计,然后克隆repo以更改为特定于客户的设计 我可以: 开设一个新分支 执行所有更改以使设计通用 创建反映两
雅各布这可能行得通,尽管他在6岁到6岁之间。和7。在应用您的补丁之前,我会创建一个“client\u a”分支。
缺点是您将丢失对客户端A的提交历史细节,因为您在一次大型提交中应用了该修补程序 在您的情况下,可以使用制作补丁,请参见 然后应用修补程序: 这将忽略默认的a/b/源前缀
以下是可能的工作流程:
- 在目录上:
- 从分支“client-a”创建新的分支“generic”
- 在“Generic”分支上使用“git rebase-i”删除所有客户端A内容
- 使用“git-rebase-client-A generic”在generic-A上重新设置客户机-A分支的基础
- 将A目录重命名为generic目录
- 将您的通用目录克隆到新的客户机a目录
- 从generic dir中删除client-A分支
这样,您将保留客户端A分支的历史记录 非常感谢您的回复。你为什么要设立“客户”分支机构?为什么不在主分支上应用补丁呢?它毕竟是通用分支的克隆。顺便说一句-我知道会失去历史记录,但在这种情况下我可以接受。@jrif:a``client\u a`branch允许您离开主分支,当您进行下一次
git pull
git diff --no-prefix > patchfile
patch -p0 < patchfile
patch -p1 < patchfile