问题标签 [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 投票
0 回答
28 浏览

git - 要求 git 忽略其他人签入代码的文件夹

我正在开发一个庞大的、庞大的企业 git 存储库,许多其他人将代码签入其中。里面有很多我完全不感兴趣的文件夹。我不在那里读或写代码,我不需要这些代码来处理我的代码。

这些文件夹中有很多文件和子模块,它们降低了我的 Git 工具的速度。

是否可以告诉 Git:根本不要检出文件夹“foo”,也不要检出其中的任何子文件夹和文件?我希望能够自由地使用 Git 来对“foo”之外的文件进行新的提交。

0 投票
3 回答
1504 浏览

git - Git稀疏结帐错误“条目'路径/到/文件'未更新。无法更新稀疏结帐”

我刚刚按照以下步骤进行了稀疏结帐

不幸的是,最后一步失败并显示错误消息

这很奇怪,因为 (1)path/to/file存在 (2) 稀疏结帐过程在另一台机器 git 版本 1.7.1 (Centos 6) 上成功。当前机器是安装了 git 版本 1.8.3.1 的 Centos 7 机器。的输出git config --list在两台机器上是相同的。

0 投票
2 回答
2092 浏览

git - 如何从 git 存储库克隆、获取或稀疏检出单个目录或目录列表?

如何从 git 存储库克隆、获取或稀疏检出单个文件或目录或文件或目录列表,避免下载整个历史记录或至少将历史记录下载保持在最低限度?

为了人们登陆这里的利益,这些是对其他类似问题的参考:

很久以前就提出了这些类似的问题,并且 git 从那时起就不断发展,最终导致了大量不同的答案,有些更好,有些更糟,具体取决于所考虑的 git 版本。问题在于,上述问题中没有一个答案可以满足所有这些问题的所有要求,这意味着您必须阅读所有答案并在脑海中编制自己的答案,最终满足所有要求。

这里的这个问题扩展了前面提到的问题,比所有其他问题的总和提出了更灵活和更严格的要求。所以,再一次:

如何从 git 存储库克隆、获取或稀疏检出单个文件或目录或文件或目录列表,避免下载整个历史记录或至少将历史记录下载保持在最低限度?

0 投票
2 回答
300 浏览

git - git sparse checkout - 无法中止合并

使用 git 2.25.1 使用 git sparse-checkout init/set 来设置 sparsecheckout。

现在我处于需要中止合并的情况。

试过:

条目“QStreams_xxx/infra/QPrism/Qpvc/gradle_pvc/gradle_pvc.iml”不是最新的。无法更新稀疏结帐。致命:无法将索引文件重置为修订版“HEAD”

试过:

相同的错误信息。

试图禁用稀疏结帐

错误:

错误:无法禁用稀疏签出:您有未暂存的更改。 错误:此外,您的索引包含未提交的更改。

在这有什么办法吗?

谢谢波阿斯

0 投票
1 回答
917 浏览

linux - git sparse-checkout 忽略特定文件类型

我有一个 git 存储库,里面有一堆大的 csv,我不想克隆,所以我遇到了 git sparse-checkout 和这篇文章:https ://github.blog/2020-01-17-bring -your-monorepo-down-to-size-with-sparse-checkout/

从这篇文章中,我采取了以下措施:

然后我编辑.git/info/sparse-checkout并添加以下内容(改编自上面页面中的示例):

但它似乎不能正常工作。一些文件夹被克隆后git pull,有些则没有。我还注意到一个警告,当git sparse-checkout list我收到:

仅忽略某种文件类型的正确方法是什么?

0 投票
1 回答
52 浏览

git - git v28.0.0 中的稀疏结帐?

在 git 26.0.2 我能够执行这些步骤:

这以 worktree 中的一个目录很好地结束: 在此处输入图像描述

与 git 27.0.0 完全相同的步骤,以空工作树结束。

我的问题是:这些步骤是否有意义并且应该与 git 28 一起使用,否则我做错了。

谢谢波阿斯

0 投票
2 回答
468 浏览

git - Jenkins git checkout - 将 .git 文件夹放在另一个地方

我们使用 Jenkins 通过几个 git repos 的 VPN 部署到客户端服务器上的客户端文件夹。我已经设置了“签出到子目录选项”和“稀疏签出”。

我们只需要部署一个公共存储库的一些文件(其他文件是私有的)。但是如果.git文件夹在里面,查看其他文件就不难了。

对于 git,可以将 .git 文件放入 repo 文件夹并在此文件中指定 .git 文件夹的位置,例如:

在此处查看有关 gitdir 的更多信息)

是否可以像上面那样为 git Jenkins 插件设置 .git 文件夹的另一个位置?

更新。这是上述的部署配置: 部署配置(稀疏结帐)

0 投票
1 回答
219 浏览

git - 稀疏结帐但排除或忽略根目录中的文件?

状态的文档git sparse-checkout

默认情况下,运行 git sparse-checkout init 时,会将根目录添加为父模式。此时,sparse-checkout 文件包含以下模式:

但是,我不想在sparse-checkout我想要的东西中包含根,

但这不起作用,而是返回

警告:无法识别的模式:/*

警告:禁用锥形模式匹配

这样 sparse-checkout 只提取顶部的一个目录,而不是存储库的 root 中的文件。我怎样才能做到这一点?

0 投票
0 回答
246 浏览

git - 可以将稀疏结帐模式添加到 .gitmodules 中吗?

假设我有一个git submodule并且我想在它上面启用稀疏结帐。是否可以这样做并将该文件添加到克隆的其他人的存储库中?git 子模块被添加到,/.gitmodules但该子模块的稀疏签出文件在.git/modules/foo/info/sparse-checkout? 如何配置 git 子模块,以便当其他人克隆时,--recursive他们只能获得白名单目录?如何将子模块上的 sparse-checkout 配置保存到 repo 中?

0 投票
0 回答
22 浏览

git - 有没有办法孤立从稀疏结帐创建的分支?

如果我克隆一个 repo--depth 1并尝试推送,我会得到

有没有办法孤立当前分支并再次推送?