Git:如何仅从存储库共享选定的文件夹和文件,以允许2个团队进行协作,但不共享整个代码库?

时间:2015-10-01 05:53:13

标签: windows git

假设有一个团队使用分支模型在主Git存储库上工作。现在,第二个团队加入并开始工作项目的一个子集。作为起点,他们需要在存储库中的一个文件夹上进行协作。他们不允许看到其余的代码库。实现这一目标的最佳方法是什么?

展望未来,他们需要能够将他们的更改合并到主代码库中,并在此过程中从该文件夹获取任何更新。

这完全基于Windows操作系统,内部网络上有Atlassian Stash和Git。

2 个答案:

答案 0 :(得分:3)

这意味着一个文件夹需要its own repo

  • 在主要Git仓库中添加submoduletracking a branch
  • 第二个团队的
  • forked ,让他们推送到分支机构并从原始文件夹git repo进行PR或同步。

答案 1 :(得分:1)

我建议将子集分成子项目,并在构建主项目时使用特定于语言的方式来提供它。例如,如果您使用MS Visual Studio,则可以将其转换为库或模块,并在构建主项目期间使用nuget来提供它。

根据我的经验,在合并时,它似乎比使用子模块更方便。

这样做的另一个原因 - 也许更重要的是 - 另一个团队能够将项目作为可编辑和可测试的单元来处理,而不是一堆源文件。