问题标签 [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 回答
383 浏览

git - 如何使 Git 存储库或子模块更浅

我在工作区的“第三方软件”子目录下克隆了许多第三方项目的 git 存储库,但是我不想保留它们的任何历史记录(最新的快照就可以了);我也在不同的存储库中的许多项目中共享许多相同的子模块(如干净的过滤器、预提交脚本等),并且不想在其中任何一个中保留历史记录。

这是两个相似但略有不同的问题:

  • 是否有任何命令可以使这些 git 存储库删除所有历史快照?
  • 是否有任何 git config (或其他方法)强制 git 存储库/子模块在以后每次拉取/子模块更新后保留最新的快照?

谢谢你。

0 投票
1 回答
1664 浏览

git - 创建 git 存储库的稀疏和浅层克​​隆会导致错误:尝试写入非提交对象

我想在某个标签处创建一个 git 存储库的稀疏和浅层克​​隆。

这就是我目前正在做的事情:

它可以正常工作,但会引发错误:

我在 Ubuntu 17.04 上使用 Git 2.11.0 和在 Windows 10 64 位上使用 Git 2.13.2.windows.1 时遇到此错误。我没有尝试克隆到映射驱动器。

是什么导致了这个错误,我该如何避免它?

0 投票
1 回答
1582 浏览

git - 有什么方法可以在 SourceTree 中进行浅层克隆

我现在正在使用一个有点大的存储库。我目前的解决方案是先在终端浅克隆,然后将我的文件夹拖到SourceTree中,有没有办法在SourceTree中设置??

0 投票
1 回答
3027 浏览

git - git:在浅克隆上克隆特定的提交 ID

我发现了很多关于克隆存储库并立即检查给定提交 ID 的问题/答案。简单的方法:

有了分支机构,您就可以git clone -b <BRANCH> <URL>

使用分支,您还可以进行浅克隆,这使得克隆速度更快,但您无法再签出任意 ID。

所以我的问题是:有没有一种方法可以对给定的 URL/提交 ID 进行浅层克隆,而无需在远程创建分支?

不同类型的远程存储库有区别吗?(例如本地文件系统、BitBucket、GitHub、GitLab 等)

0 投票
1 回答
996 浏览

git - 如何使用 Composer 执行浅克隆?

我有以下内容composer.json

但是,当我运行时:

克隆过程需要很长时间,并且存储库的大小超过 25MB:

然后 Composer 因超时而停止:

[Symfony\Component\Process\Exception\ProcessTimedOutException]
进程“ git clone --no-checkout 'https://github.com/queueit/KnownUser.V3.PHP.git' '.../sites/all/libraries/composer/queueit/KnownUser.V3.PHP' && cd '.../sites/all/libraries/composer/queueit/KnownUser.V3.PHP' && git remote add composer 'https://github.com/queueit/KnownUser.V3.PHP.git' && git fetch composer”超过了 300 秒的超时时间。

我假设存储库太大而无法克隆所有 git 对象。


如何使用浅克隆更快地克隆存储库?

例如,通过将额外--depth 1--single-branchgit 参数传递给 Git 命令,以便 Composer 可以自动获取它?

我希望更改在文件中是自包含的composer.json,因此在其他系统上调用此文件或由其他用户在运行composer install.

0 投票
0 回答
154 浏览

java - 在Java中使用浅克隆过程中更改原始对象时,如果克隆没有更新怎么办

我已经使用 Java 在浅层克隆中创建了一个对象的克隆引用。但是当我更新对象时,存储在引用克隆中的字符串不会更新。为什么?基类是,

具有 main 方法的类是,

有什么方法可以更改我的代码以在此过程中获取更新的值?

0 投票
1 回答
9830 浏览

javascript - JS 递归对象赋值

我了解到,当使用 Object.assign() 时,它仅扩展顶级对象。如何深入扩展对象?例如,假设我有以下源对象:

我正在使用Object.assign()这样的:

结果将是:

如何以浅克隆方式保留 params.data 键和 params.page.b 键。

注意:这个问题与How to deep merge 而不是 shallow merge 不同。那里的答案没有给出预期的结果。

检查从上述链接中获取答案的此垃圾箱。

0 投票
1 回答
868 浏览

git - git窄克隆单文件现实生活示例

我们阅读了git 窄克隆。假设我们想在极端情况下使用这个新特性,并且只用最小的带宽从一个巨大的远程存储库中编辑一个文件并推回我们的提交。

发现的唯一示例是 git clone --no-checkout --filter=blob:none "file://$(pwd)/srv.bare" pc1 让我们添加 --depth 1 以节省更多数据流量和磁盘空间。但是我们如何指定单个远程 文件 而不触发“似乎不是 git 存储库”错误?git 版本 2.17.0.290。

0 投票
3 回答
1506 浏览

java - 是否可以浅拷贝单例类对象?

使用 clone 方法,我们可以得到许多单例类的实例吗?

此外,是否有必要编写“实现 Cloneable”,因为我了解到所有对象都从 Object 类扩展,因此在 Object 的另一个子级上调用 protected clone() 的子对象应该没有访问问题

0 投票
3 回答
1041 浏览

git - 自特定提交以来的 git 浅克隆

我想克隆一个历史悠久的存储库。我只对一些短暂的尚未合并的功能分支和master.

为了不让自己与所有过去的历史和合并的分支混淆,我想从特定的提交 SHA 开始做一个浅克隆。

但是,到目前为止,我只找到了有关如何进行浅克隆的文档,其中仅包括最后一次n提交 ( --depth) 和自特定日期 ( --shallow-since) 以来的提交。

有没有办法指定从给定提交开始的浅克隆?