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

git - Jenkins 无法提取 20 GB git repo

我的 Jenkins 构建失败,因为它无法提取 20 GB git repo。请让我知道我错在哪里或遗漏了什么。

详情请看以下截图:

错误日志

詹金斯配置

注意:我尝试增加超时时间,但没有奏效

0 投票
1 回答
221 浏览

git - 如果设置了深度标志,Git 克隆或子模块更新找不到私钥文件

我正在克隆一个包含几个子模块的存储库。为了节省时间,我正在做一个浅克隆,将私钥作为环境变量传递。例子:

上面的命令工作得很好!但是当我尝试对添加 的子模块做同样的事情时--depth=1,git 再也找不到temp_pvt_key.key了。

错误:

../一旦私钥文件位于存储库父文件夹中,我将使用相对路径 ( )。

工作,但整个子模块存储库被克隆:

基本上相同的命令加上--depth=1。这根本不起作用:

我也尝试过一个命令,但没有成功,我最终遇到了同样的错误:

我可以以某种方式解决这个问题吗?

吉特版本:git version 2.19.2.windows.1

0 投票
1 回答
1534 浏览

git - 如何将 git "--unshallow" 与 "--single-branch" 克隆一起使用?

我首先浅克隆了一个深度=1的仓库。

然后我尝试通过运行两次来取消本地克隆

我得到了两次“STILL SHALLOW”,一步一步还是一样……

那么我做错了什么?如何使用--unshallow

0 投票
1 回答
333 浏览

git - 将git完整克隆转换为浅克隆

如何将存储库的深层克隆原地转换为浅层副本?

我正在使用 git 管理我们软件的单独安装,以跟踪安装运行时中代码的任何更改(未跟踪和脏文件),但存储库非常大(800MB),所以大约有几百个副本不是最好的主意。

因此,如果这些存储库可以变成只包含当前部署的提交而不是完整树的浅拷贝,那就太好了。在升级期间,repo 将转换回深层克隆,签出特定的提交,然后将其制成新提交的浅层克隆。

git fetch --depth=1 --update-shallow不会缩小 .git 目录大小,我猜它会获取任何新提交,但不会删除旧数据。添加--shallow-exclude=HEAD^2会使 git 抛出错误,虽然不完全确定它应该如何工作,但我会冒险猜测它在删除 HEAD^2 时遇到了冲突的要求,但想要检查 HEAD,这将取决于深度克隆中的 HEAD^2。

0 投票
0 回答
56 浏览

java - ShallowCloning-原始对象不受影响

我已经使用对象 - obj 为 housename 分配了一个值。在下一步中,我使用 obj2 更改了值。如果我使用 obj 打印它,它应该反映我第二次分配的值吗?

0 投票
0 回答
24 浏览

git - 相同的 git 大小,带和不带 --depth=1

我正在编写一个脚本来克隆一个大型 git 存储库,修改一些文件并将更改推送回远程。它需要尽可能快地运行。

现在,克隆存储库大约需要 10 分钟。生成的文件夹大约有 3GB 大,其中 50% 是.git文件夹。我尝试使用 克隆存储库--depth=1,但结果基本相同。

我也试过运行git fetch origin --depth=1,它会下载一个.git大约 100MB 的文件夹。但是,当我检查分支时,它又回到了 3GB。

为什么我的.git文件夹有和没有的大小相同--depth=1?是不是说我的历史基本很小,大小来自于大的二进制文件等?

注 1:此工作区使用 git lfs。不知道有没有影响。

注 2:我打算在不久的将来尝试部分克隆。看起来它可以解决我的问题,因为我确切地知道我需要修改哪些文件。

0 投票
1 回答
67 浏览

git - git shallow clone *几个*特定的引用(提交),*它们不是分支*

对于我的特定用例,我只需要一个只包含两个特定提交的浅 git 克隆,没有其他内容(没有剩余的历史记录,没有其他分支)。

以下是我尝试过的一些事情:

  • 我想获取两个参考,因此git clone --single-branch --branch BRANCHNAME不好,因为它只获取一个分支
  • 我想获取不是分支名称的引用(例如,4ebbd7cc6和),这是不好fc139d960的另一个原因。git clone --single-branch --branch BRANCHNAME
  • 我想要真正最小的历史。只有这两个提交,没有别的。这两个提交之间可以有任意长的 git 历史,并且有数百个分支。因此,这样做git clone --depth N --no-single-branch并不好,因为它会获取我不需要的所有分支和标签,而且我无论如何也不知道有什么好处N,所以即使没有分支和标签,我也会过度获取。

准确获取n 次提交的正确方法是什么

0 投票
1 回答
126 浏览

git - git shallow fetch 不显示分支

我之前用 --depth 1 做了一个 git 浅克隆

之后,我想从远程获取一个深度为 10 的特定分支并结帐到该分支。

我能够从远程获取分支,但分支没有显示在git branch -a

更换个人信息后的日志如下

0 投票
1 回答
204 浏览

c++ - 如果它只是“浅常量”而不是“深常量”,我应该声明方法“常量”吗?

我有类Foo,它的成员bar_是指向某些数据的指针。方法modify修改数据,但不修改指针本身。因此我可以将该方法声明为const

如果我将该方法声明为const,它将可以从其他 const 方法访问,这更灵活。同时,我可以删除const作为对其他开发人员和用户的提示,该方法间接修改数据(并假设数据归类所有)。所以我在这里有一个选择:声明modifyconst或删除const :void modify() constvoid modify().

每种方法的优缺点是什么?指导方针是怎么说的?我应该怎么办?

0 投票
1 回答
1272 浏览

git - git 致命:对象中的错误:不浅

我正在尝试取消存储库:

我也尝试将原点更改httpsgitand ssh,但没有任何乐趣。

环境:

没有效果。

我的本地仓库中只有 5 次提交,并且尝试增加深度也失败了:

更多调试信息:

我在用着: