以下是该方案:
我们有一个"官员"存储库包含一些文件夹该文件夹由用户A拥有,用户A应该是唯一允许用户推送的文件夹:
repoA
|
-- folderA1
|
|- fileA11 .. fileA12
|
-- folderA2
|
|....
repoA
|
-- folderA1
|
|- fileA11 .. fileA12
|
-- folderA2
|
|....
用户B需要维护自己的folderA1副本(来自repoA),并且应该能够合并userA在其自己的副本中推送的提交。用户B不想要folderA2
当然,用户B将对他自己的folderA1副本进行一些修改,而folderA1的历史记录(从用户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不应该在自己的存储库中拥有folderA2(来自用户A)。
用户B应该能够在自己的存储库中拥有folderB1和folderB2。
由于
答案 0 :(得分:0)
考虑到您可以在存储库级别控制写访问权限(例如,通过Gitolite),最好是folderA1
:
repoA
中引用为submodule。使用subtree merging控制谁更新更复杂的内容。