问题标签 [git-sparse-checkout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
24 回答
281576 浏览

git - 从存储库中检索单个文件

从远程 git 存储库获取单个文件的内容的最有效机制(关于传输的数据和使用的磁盘空间)是什么?

到目前为止,我已经设法提出:

这似乎仍然是矫枉过正。

从 repo 中获取多个文件怎么样?

0 投票
15 回答
182568 浏览

git - 是否可以在不先检出整个存储库的情况下进行稀疏检出?

我正在使用一个包含大量文件的存储库,需要数小时才能签出。我正在研究 Git 是否可以很好地与这种存储库一起工作,因为它支持稀疏签出,但我能找到的每个示例都执行以下操作:

这个命令序列的问题是原始克隆也进行了检查。如果将 -n 添加到原始克隆命令,则 read-tree 命令会导致以下错误:

错误:稀疏结帐在工作目录上没有留下任何条目

如何在不先检查所有文件的情况下进行稀疏检查?

0 投票
0 回答
406 浏览

git - 如何在不检查其父目录的情况下从 git 稀疏签出子目录?

我正在尝试从我的 git 存储库中稀疏检出一个子目录。

该存储库包含多个 wordpress 插件,我想一一检查它们。使用下面发布的解决方案,我遇到了每次签出子目录的父目录也被签出并且插件无法正常工作的问题。

我试过这样的事情是否可以在不先检查整个存储库的情况下进行稀疏检出?以及用于简单 Web 部署的 Git 稀疏结帐

我真的希望有人可以帮助我,因为我只是觉得我错过了一些信息。

谢谢你。

0 投票
2 回答
975 浏览

git - 签出 Git 存储库中的特定文件夹

我在不同的存储库中有多个项目:

比如android依赖shared/Common、shared/Exceptions、tools、thirdparty和media/VolumeControl。

我试过了:

  1. 子模块:https ://git-scm.com/book/en/v2/Git-Tools-Submodules
  2. 稀疏结帐:http: //jasonkarns.com/blog/subdirectory-checkouts-with-git-sparse-checkout/

但是,他们都在 android 文件夹中检出或引入多媒体文件夹。相反,我希望它像:

我该如何做到这一点?

注意:我曾经在 svn 中使用 lockexterns 来完成此操作。

0 投票
0 回答
659 浏览

git - Git - 子模块的稀疏签出不克隆?

我们的超级项目中有一个子模块。该子模块使用稀疏检出(将子模块视为一个大型核心库,我们在其中选择当前项目所需的部分)。尽管结帐与原始项目的稀疏结帐完美配合,但该 repo 的新克隆没有任何稀疏结帐信息;文件的配置没有“sparsecheckout=true”,信息文件夹没有“sparse-checkout”文件。

我错过了什么?

我跑了:

编辑1:看起来我的回购也显示了整个子模块,而不是稀疏的结帐......这让我相信信息永远不会被存储?

0 投票
1 回答
2048 浏览

git - Git 仅从远程复制特定文件

我试图了解如何(如果可能的话)从Git仅复制特定目录的特定文件。(对继续处理这些文件或获取历史不感兴趣remote

例如,假设远程 master 分支拥有(以及许多其他)一个目录,该目录的名称\src是文件.cpp.h文件。怎么可能只获得所有头.h文件的副本?

当然,我正在寻找一种不会导致重新编写 repo 或任何其他不良副作用的方法。简单地说,只从远程获取一些指定文件的本地副本。

我考虑过git archivesparse-checkout但不明白我是否可以使用它们来实现我的目标。

0 投票
2 回答
4310 浏览

git - 如何使用 Git 进行子模块稀疏签出?

有很多关于稀疏结帐的文章和 SO 问题。不幸的是,我没有找到具体的例子。我想得到以下示例工作:

创建子模块

创建项目

这一点我期望sub文件夹只包含foo/foonot bar。不幸的是,它不起作用:

我怎样才能让它工作?

0 投票
1 回答
97 浏览

git - Git通过Chef签出单个目录

有没有办法用 Chef 及其git资源进行稀疏结帐进行稀疏结帐?或者完成等效的最佳方法是什么?

由于进行稀疏签出需要.git在拉取之前修改文件夹中的文件,因此我找不到让git资源配置存储库但在编辑该文件之前不尝试拉取的方法。如果我等到git资源执行结束,那么分支尖端的文件总数已经下载完毕。

作为参考,如果我在做一个 bash 脚本,我会这样做:

问题也在这里发布:https ://discourse.chef.io/t/sparse-checkout-with-git-resource/11834

0 投票
2 回答
389 浏览

git - 稀疏结帐 - 它是如何工作的

我一直在寻找一种仅克隆我的一个项目的子目录的方法。显然我找到了这个答案。它设计精良,分步解决方案很好地解释了如何实现这一点。现在最后它指的是说明这一点的文档:

“稀疏结帐”允许稀疏地填充工作目录。它使用 skip-worktree 位(参见 git-update-index(1))来告诉 Git 工作目录上的文件是否值得查看。

我的问题是我无法理解这意味着什么。我从 Git 中学到的一件事是,它是一个很棒的工具,但是在实施某些东西之前,从长远来看,了解幕后发生的事情真的可以帮助你。

所以,这里有一个问题:

稀疏结帐是如何工作的,输出是什么?

0 投票
1 回答
97 浏览

git - Git Sparse checkout 忽略一个错误的目录

我的 git 存储库中有一个目录名称“[afdsklj]”。似乎 git sparse checkout 在尝试创建新目录时仍然给我致命错误无效参数。有没有办法让 git 完全排除这个坏目录?