1

这是场景:

我们有一个包含一些文件夹的“官方”存储库。此文件夹由用户 A 拥有,用户 A 应该是唯一允许推送的文件夹:

repoA
 |
 -- folderA1
  |
  |- fileA11 .. fileA12
 |
 -- folderA2
  |
  |....

用户 B 需要维护自己的文件夹 A1 副本(来自 repoA),并且应该能够将用户 A 推送的提交合并到自己的副本中。用户 B 不想要文件夹 A2

当然,用户 B 将对他自己的文件夹 A1 副本进行一些修改,并且文件夹 A1 的历史记录(从用户 B 的角度来看)应该如下所示:

HEAD
|
*    Merge user A master into user B master
| \
* |  Last commit made by user A
* |  Previous commit made by user A
| *  Last commit made by user B
| *  Previous commit made by user B
|/
*    Initial commits made by user A
*
*
|

用户 B 在他自己的存储库中不应有文件夹 A2(来自用户 A)。

用户 B 应该能够在他自己的存储库中拥有文件夹 B1 和文件夹 B2。

谢谢

4

1 回答 1

0

考虑到您可以在存储库级别控制写访问(例如,通过Gitolite),最好folderA1是:

  • 自己的 Git 存储库
  • repoA作为子模块引用。

控制谁更新子树合并会更复杂。

于 2012-04-30T07:56:59.593 回答