Git: Shallow copies from a specific commit
例如,我想只克隆从特定发布标签开始的历史记录。因此,如果远程中的最后几个提交看起来像这样
1 2 3 4 5 | [master] ... [master~1] ... [master~2] ... <-- tag: x.x [master~3] ... ... |
现在我想克隆历史记录范围
我猜在接受的答案中给出的解释为什么没有 Git 克隆特定的提交选项?这里也适用,所以可能没有直接的方法。
如果在客户端和服务器端都至少运行 Git 2.11,如果您知道标记提交的日期以及它所在的分支,则有一个解决方法:
1 | git clone --branch <branch that contains tag> --shallow-since=<date of tagged commit> <url> |
确实,没有直接的方法,这种计数或基于多引用的克隆必须在服务器端(交付初始浅克隆的服务器)实现,才能在 git\\'s 中工作约束。
不过有一个间接的方法:从深度为 1 的浅克隆开始,然后反复加深直到标签出现。令人讨厌的是,