5

我想知道这是否可能。

我在 github(私人存储库)中有一个“入门项目”。我喜欢做的是创建customerA repo(也是私有的),但它应该从“starter project”中分叉出来。我的想法是客户 B、客户 C 都可以拥有自己的私人仓库,如果我修复了“入门项目”中的通用错误,我可以轻松地将错误修复拉给我的所有客户。

我还没有找到解决这个问题的方法。目前我通过克隆 sampe 私人项目解决了这个问题。它是 git 问题还是 github.com 问题?

有什么解决方法吗?

4

2 回答 2

7

这就是分支的用途。每个客户都有一个分支,问题解决了。

但是......如果每个客户的存储库都在一个单独的帐户中,您可以只使用常用的 git 工具来共享更改。举个例子:

$ git clone git@github.com:client/your-project
$ cd your-project
$ git remote add original git@github.com:you/your-project
$ git fetch original
$ git cherry-pick <change from original>
$ git merge <whatever>
$ git rebase <whatever>
$ git push origin

等等

Github 的 web UI 只是为了方便常见的情况。如果你需要做一些不寻常的事情,只需使用你常用的 git 工具。Github 不在乎。

于 2009-08-11T07:20:54.880 回答
3

对于 Git,克隆与分叉相同,或者更准确地说:Git 不知道分叉,这是 github 的事情。从技术上讲,所有分叉都只是具有不同所有者的克隆。

因此,如果您为三个客户克隆您的启动项目,您实际上拥有一个包含多个分支的存储库,因为每个分支都是一个分支。也许您应该考虑为您的启动项目使用子模块并将其包含在每个客户存储库中?

于 2009-08-11T07:21:00.543 回答