问题标签 [shallow-clone]

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 投票
2 回答
2925 浏览

git - 在我的 MacBook pro Big Sur 上更新 Homebrew 时出错

更新homebrew我收到以下错误:

带来不便敬请谅解!

0 投票
0 回答
67 浏览

jenkins - 如何为大型项目实现浅存储库克隆/签出 SVN(Subversion 存储库)的 Jenkins 管道

如何为大型项目实施 Jenkins 管道以进行浅存储库克隆/签出 SVN(Subversion 存储库),因为每次触发 Jenkins 管道时,它都会执行“清理本地目录”并一次又一次地克隆整个项目?

我的詹金斯文件:

我应该在此代码中添加什么Jenkinsfile作为浅存储库克隆并避免冗余克隆 SVN 存储库中的代码?

0 投票
1 回答
39 浏览

git - 在浅层存储库中获取特定提交失败

我有一个子模块存储库的浅层克隆,其中所需的提交位于与 HEAD 提交无关的分支上。

这适用于大多数子模块,但是对于 HEAD 与所需提交具有无关历史记录的子模块,它会失败:当 git 尝试获取所需的提交时,它会给出错误: error: Server does not allow request for unadvertised object

没有子模块也会发生同样的错误

以下工作正常:

任何想法,当它们有不相关的提交时,如何让浅子模块工作?由于我们有许多具有不同内部结构的子模块,因此对每个子模块进行手动处理是不可行的。

0 投票
1 回答
33 浏览

git - git:删除嫁接的分支

我正面临 git 的问题。我有一个远程仓库的浅拷贝。在我的副本中,克隆了两个分支。有嫁接,即被深度截断,所以虽然一个分支基于另一个分支,但在我的浅克隆中,它们是独立的。有一天它们被合并到一个分支中(看图表)。所以我的浅拷贝中不再需要第二个分支(e1a4728..249aeec)。我让 git 不获取该分支,也不获取其上的标签,但我仍然无法摆脱该分支的提交(尤其是对象)。

注意:我试过gcprune没有成功:(

0 投票
1 回答
52 浏览

git - git - 尽管没有使用“--single-branch”克隆存储库,但仍从特定分支获取

长话短说,我正在寻找的是能够仅获取本地存储库中的特定分支,即使该存储库最初不是用“--single-branch -branch <branch_name>”克隆的.

分享完整的故事 - 我们想使用浅克隆来减少一般的 git 运行时间,特别是在我们的自定义 CI 工具中。另外我应该声明我们使用 Android 的“repo”工具。

据我了解,我们首先需要使用 Android 的“repo”工具支持的 --depth=1 克隆 git 存储库,但这对于我们的 CI 工具来说还不够,它需要加深获取以便能够从用户的存储库中提取更新时,有一个共同的 git 历史记录。因此,当我们尝试加深 fetch(为简单起见 - “git fetch --deepen=1”)时,git 会获取所有分支和标签,并花费大量运行时间这样做,尽管我们只需要加深 fetch 一次非常具体的分支。

如果 git 存储库最初是使用“--single-branch -branch”(除了--depth=1)克隆的,然后“git fetch --deepen=1”运行速度超快,则可以解决此问题。但问题是,Android 的“repo”工具似乎不支持使用“--single-branch -branch”克隆 git repos,因此我的问题在顶部。或者,如果有另一种方法可以加深对特定分支的获取 - 我很高兴知道细节。

谢谢!

0 投票
0 回答
70 浏览

git - 我需要合并 git repo 的 2 个分支,但浅分支历史导致与子模块 ref 发生冲突(即使我加深了历史)

我在合并浅克隆的分支时遇到问题,我似乎无法完成实现它所需的步骤。这是一个真正的 git 难题,我期待找到知道如何解决这个问题的人。

我编写了一个 Github Action,为 Hugo 网站项目创建发布版本。正如 Github 提供的,我使用actions/checkout来签出 repo 的源分支,并包含递归子模块的选项。(这很重要,因为合并冲突是由于此处的子模块引用而发生的。)

结帐后,我的部署脚本会做一些事情:

  1. 获取并签出将在其中进行构建的发布分支
  2. 将源分支的最新更改合并到发布分支
  3. 构建、提交和推送版本

如果我fetch-depth: 0在结帐步骤中设置(克隆 repo 的完整历史记录),效果很好!合并由 处理-s recursive Xtheirs,一切都很好。

但是,如果我保留导致的默认fetch-depth设置--depth=1,我会得到一个浅克隆,其中合并总是会导致冲突,因为我没有足够的分支历史来让合并知道它应该如何自行解决。合并失败,之后不会发生任何其他事情。

基于该信息——

  • 我必须采取哪些 git 步骤来加深源分支、目标分支和子模块的获取历史记录,以便能够合并分支而不会发生冲突?

测试用例 -

我设置了 2 个测试存储库,您可以在此操作 wiki 页面上找到它们。如果您想查看操作、成功/失败输出、运行您自己的测试,或者只是阅读更多关于我尝试过的内容,请查看。在这里添加太多了。

在来这里之前,我为这个问题苦苦挣扎了一段时间,现在我希望你们能帮助我。如果我错过了任何重要信息,请告诉我。干杯!

0 投票
0 回答
22 浏览

git - 将 git 浅克隆转换为部分克隆

首先我克隆回购

很长一段时间后,repo 变得非常大,我无法“git fetch”它,所以我只获取 1 个深度

现在我想查看一些文件的历史

有没有办法可以将本地仓库切换到部分克隆,就像

0 投票
0 回答
78 浏览

swift - Swift 包管理器:浅层克隆

问题:

我将nlohmann/json包与 Swift 包管理器一起使用。Package.swift 清单文件

通过查看包清单,很明显该库仅包含一个文件和一个标头。但是,为了安装包,Swift 包管理器会克隆整个存储库,它的大小超过 300 MB。

潜在的解决方案

使用浅克隆将解决该问题。Swift Package Manager 可以使用浅克隆吗?对 Xcode 和命令行解决方案都感兴趣。

相关链接

Swift 论坛讨论

斯威夫特 JIRA

Firebase 团队的解决方案:分叉“有问题的”依赖存储库

0 投票
1 回答
37 浏览

git - 我们的 Jenkins 中的无效对象名称 master~1 导致无限版本碰撞

我们没有更改 Jenkinsfile 或 Fastfile 中的任何内容,但是突然间我们在日志中看到了这一点。

无效的对象名称 master~1

它会导致无限的自动碰撞。

我们在 Fastffile 中使用这个函数来检查我们是否应该升级版本。

0 投票
0 回答
21 浏览

git-branch - 如何在 GitPython 中在原点运行集合分支

我正在使用 GIT 存储库进行浅克隆和浅提取,代码中使用了 Git-Python

在 Git-python 中,以下 git cmd 命令的等效命令是什么 git remote set-branches origin --add master8

我阅读了他们的文档,但无法使其工作。任何帮助表示赞赏。

相关代码