是否可以跟踪另一个存储库中的文件历史记录

时间:2012-04-27 08:17:04

标签: git version-control dvcs

以下是该方案:

我们有一个"官员"存储库包含一些文件夹该文件夹由用户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。

由于

1 个答案:

答案 0 :(得分:0)

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

  • 自己的Git回购
  • repoA中引用为submodule

使用subtree merging控制谁更新更复杂的内容。