Git签出子目录而不在本地拥有完整的repo
解决这个问题的最好办法是什么。我们有一笔大额回购。由于安全限制,人们不允许在笔记本电脑等移动工作站上复制文件。但回购协议中有一些文件夹不在此规则中。目标是能够轻松地在此子目录内开发,并拉、推和处理主回购的分支 所以这里的问题是,不管怎样,只要从git repo中克隆/签出一个子目录,而不必在本地拥有repo的完整副本。在做研究时,我发现了一些解决方案。也许有人可以帮助澄清解决这个问题的最简单方法Git签出子目录而不在本地拥有完整的repo,git,git-subtree,sparse-checkout,Git,Git Subtree,Sparse Checkout,解决这个问题的最好办法是什么。我们有一笔大额回购。由于安全限制,人们不允许在笔记本电脑等移动工作站上复制文件。但回购协议中有一些文件夹不在此规则中。目标是能够轻松地在此子目录内开发,并拉、推和处理主回购的分支 所以这里的问题是,不管怎样,只要从git repo中克隆/签出一个子目录,而不必在本地拥有repo的完整副本。在做研究时,我发现了一些解决方案。也许有人可以帮助澄清解决这个问题的最简单方法 稀疏签出(但您必须在.git文件夹中拥有回购协议的完整副本) 子模块(似乎很难维护和协作) 子树(
- 稀疏签出(但您必须在.git文件夹中拥有回购协议的完整副本)
- 子模块(似乎很难维护和协作)
- 子树(看起来很有前途)
- git归档(签出一个目录,但您可以更新并向后推)
提前感谢您的帮助。这不是Git的概念。Git是一个分散的版本控制系统。本地副本是主要概念。通常,您应该避免使用大型存储库,例如,您应该排除媒体和上载文件夹。Git不是为大文件而设计的。因为这就是问题所在 您只能在完整的存储库上设置权限,如果您授予某人权限,那么他可以克隆整个存储库,而在这种情况下,您没有一些安全性,并且无论您克隆文件夹还是完整的存储库 正确的方法可能是从存储库中删除所有重要和大型文件/文件夹。并创建一个没有真实数据的存储库。您必须创建一个新的存储库,因为所有已提交的旧文件都保留在repo中。在那里,您可以清理文件,只添加需要开发的脚本和文件
您可以使用子模块,但这确实是一个很大的工作 这不是Git的概念。Git是一个分散的版本控制系统。本地副本是主要概念。通常,您应该避免使用大型存储库,例如,您应该排除媒体和上载文件夹。Git不是为大文件而设计的。因为这就是问题所在 您只能在完整的存储库上设置权限,如果您授予某人权限,那么他可以克隆整个存储库,而在这种情况下,您没有一些安全性,并且无论您克隆文件夹还是完整的存储库 正确的方法可能是从存储库中删除所有重要和大型文件/文件夹。并创建一个没有真实数据的存储库。您必须创建一个新的存储库,因为所有已提交的旧文件都保留在repo中。在那里,您可以清理文件,只添加需要开发的脚本和文件
您可以使用子模块,但这确实是一个很大的工作 谢谢。特定文件夹没有明确的git角色。如何处理数据更像是公司的规则。并且没有媒体或大文件。这只是代码的数量。这个想法是为了让设计师只使用css和html文件,而不必签出所有其他代码。嗯,更好的方法是让他们完全访问并重新查看代码,还有一个很酷的插件(Gerrit),您可以为特殊用户进行代码检查。也许这是一个解决办法。否则,您必须使用子模块。但通常你需要整个项目来运行项目。谢谢。特定文件夹没有明确的git角色。如何处理数据更像是公司的规则。并且没有媒体或大文件。这只是代码的数量。这个想法是为了让设计师只使用css和html文件,而不必签出所有其他代码。嗯,更好的方法是让他们完全访问并重新查看代码,还有一个很酷的插件(Gerrit),您可以为特殊用户进行代码检查。也许这是一个解决办法。否则,您必须使用子模块。但通常情况下,您需要整个项目来运行项目。