Git 在没有本地完整仓库的情况下签出子目录

Git checkout a subdirectory without having the full repo locally

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

所以这里的问题是 clone/checkout 只是 git 存储库的一个子目录,而没有本地存储库的完整副本。在做我的研究时,我遇到了一些解决方案。也许有人可以帮助阐明解决此问题的最简单方法。

在此先感谢您的帮助。

那不是Git的概念。 Git 是一个去中心化的版本控制系统。本地副本是主要概念。通常你应该避免大型存储库,你应该排除媒体和上传文件夹等。 Git 不适用于大文件。因为那是Git LFS project

如果您授予某人权限,则您只能对整个存储库设置权限,然后他可以克隆整个存储库,在这种情况下您没有任何安全性,克隆文件夹或完整的存储库。

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

您可以使用子模块,但这确实需要大量工作。