1

解决这个问题的最佳解决方案是什么。我们有一个很大的回购。由于安全限制,人们不允许在笔记本电脑等移动工作站上拥有文件副本。但是 repo 中有一些文件夹被排除在此规则之外。目标是能够在此子目录中轻松开发,并拉、推和处理主仓库的分支。

所以这里的问题是无论如何从 git repo 克隆/签出一个子目录,而没有本地 repo 的完整副本。在进行研究时,我遇到了一些解决方案。也许有人可以帮助澄清解决这个问题的最简单方法。

  • 稀疏结帐(但您必须在 .git 文件夹中拥有您的 repo 的完整副本)
  • 子模块(似乎很难维护和协作)
  • 子树(看起来很有希望)
  • git 存档(签出一个目录,但你可以更新和推回)

提前感谢您的帮助。

4

1 回答 1

0

这不是 Git 的概念。Git 是一个去中心化的版本控制系统。本地副本是主要概念。通常,您应该避免使用大型存储库,并且应该排除媒体和上传文件夹。Git 不是为大文件而设计的。这就是Git LFS 项目

如果您授予某人权限,则您只能在完整存储库上设置权限,然后他可以克隆整个存储库,并且在这种情况下您没有一些安全性,并且克隆文件夹或完整存储库都没关系。

正确的方法可能是从存储库中删除所有重要的大文件/文件夹。并制作一个没有真实数据的存储库。您必须创建一个新存储库,因为所有旧提交的文件都保留在存储库中。在那里,您可以清理文件并仅添加您需要开发的脚本和文件。

您可以使用子模块,但这确实是很多工作。

于 2016-01-04T18:50:20.903 回答