Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git签出子目录而不在本地拥有完整的repo_Git_Git Subtree_Sparse Checkout - Fatal编程技术网

Git签出子目录而不在本地拥有完整的repo

Git签出子目录而不在本地拥有完整的repo,git,git-subtree,sparse-checkout,Git,Git Subtree,Sparse Checkout,解决这个问题的最好办法是什么。我们有一笔大额回购。由于安全限制,人们不允许在笔记本电脑等移动工作站上复制文件。但回购协议中有一些文件夹不在此规则中。目标是能够轻松地在此子目录内开发,并拉、推和处理主回购的分支 所以这里的问题是,不管怎样,只要从git repo中克隆/签出一个子目录,而不必在本地拥有repo的完整副本。在做研究时,我发现了一些解决方案。也许有人可以帮助澄清解决这个问题的最简单方法 稀疏签出(但您必须在.git文件夹中拥有回购协议的完整副本) 子模块(似乎很难维护和协作) 子树(

解决这个问题的最好办法是什么。我们有一笔大额回购。由于安全限制,人们不允许在笔记本电脑等移动工作站上复制文件。但回购协议中有一些文件夹不在此规则中。目标是能够轻松地在此子目录内开发,并拉、推和处理主回购的分支

所以这里的问题是,不管怎样,只要从git repo中克隆/签出一个子目录,而不必在本地拥有repo的完整副本。在做研究时,我发现了一些解决方案。也许有人可以帮助澄清解决这个问题的最简单方法

  • 稀疏签出(但您必须在.git文件夹中拥有回购协议的完整副本)
  • 子模块(似乎很难维护和协作)
  • 子树(看起来很有前途)
  • git归档(签出一个目录,但您可以更新并向后推)

提前感谢您的帮助。

这不是Git的概念。Git是一个分散的版本控制系统。本地副本是主要概念。通常,您应该避免使用大型存储库,例如,您应该排除媒体和上载文件夹。Git不是为大文件而设计的。因为这就是问题所在

您只能在完整的存储库上设置权限,如果您授予某人权限,那么他可以克隆整个存储库,而在这种情况下,您没有一些安全性,并且无论您克隆文件夹还是完整的存储库

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


您可以使用子模块,但这确实是一个很大的工作

这不是Git的概念。Git是一个分散的版本控制系统。本地副本是主要概念。通常,您应该避免使用大型存储库,例如,您应该排除媒体和上载文件夹。Git不是为大文件而设计的。因为这就是问题所在

您只能在完整的存储库上设置权限,如果您授予某人权限,那么他可以克隆整个存储库,而在这种情况下,您没有一些安全性,并且无论您克隆文件夹还是完整的存储库

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


您可以使用子模块,但这确实是一个很大的工作

谢谢。特定文件夹没有明确的git角色。如何处理数据更像是公司的规则。并且没有媒体或大文件。这只是代码的数量。这个想法是为了让设计师只使用css和html文件,而不必签出所有其他代码。嗯,更好的方法是让他们完全访问并重新查看代码,还有一个很酷的插件(Gerrit),您可以为特殊用户进行代码检查。也许这是一个解决办法。否则,您必须使用子模块。但通常你需要整个项目来运行项目。谢谢。特定文件夹没有明确的git角色。如何处理数据更像是公司的规则。并且没有媒体或大文件。这只是代码的数量。这个想法是为了让设计师只使用css和html文件,而不必签出所有其他代码。嗯,更好的方法是让他们完全访问并重新查看代码,还有一个很酷的插件(Gerrit),您可以为特殊用户进行代码检查。也许这是一个解决办法。否则,您必须使用子模块。但通常情况下,您需要整个项目来运行项目。