gpt4 book ai didi

Git:来自特定提交的浅拷贝

转载 作者:行者123 更新时间:2023-12-04 16:48:27 24 4
gpt4 key购买 nike

git clone --depth N ... 创建一个浅克隆,其历史记录仅限于最近 N 次修订,我可以使用 git clone -b tag ...获取可从 tag 访问的提交。但是,有没有办法从特定(标记的)提交到分支头获取存储库(或其分支)?

例如,我只想克隆从特定发布标签开始的历史记录。因此,如果远程中的最后几次提交看起来像这样

[master]   ...
[master~1] ...
[master~2] ... <-- tag: x.x
[master~3] ...
...

现在我想克隆历史范围 x.x~1..,而不必手动计算要给 --depth 的修订次数。

我猜是对 Why Isn't There A Git Clone Specific Commit Option? 的接受答案中给出的解释此处也适用,因此可能没有直接的方法。

最佳答案

确实,没有直接的方法,这种计数或基于多引用的克隆必须在服务器端(提供初始浅克隆的服务器)实现,才能在 git 的约束下工作。

虽然有一种间接的方法:从深度为 1 的浅克隆开始,然后反复加深直到出现标签。烦人的是,git fetch --depth=<N>不会选择新标签(但您可以使用 git ls-remote 或类似的方法在浅克隆客户端上获取所有内容,并观察 SHA-1)。但我怀疑这种方法会太慢以至于变得毫无值(value)。

关于Git:来自特定提交的浅拷贝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33612627/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com