远程仓库的 Git 浅克隆特定版本

克莱因

如何克隆远程存储库某个分支的特定版本?

我正在使用一个非常大的 git 树(更具体地说是 Linux 内核)。在许多情况下,我需要将内核代码带到网络和文件系统非常有限的机器上。

通常我只需要获取某个分支上某个提交的代码,而不需要所有领先的历史记录。

因此,经过一番挖掘(例如,此处此处和其他地方)后,我将范围缩小为:

$ git clone --branch <remote-branch-name> --single-branch --depth 20 http://some-host:8080/some-git-repo.git
$ cd some-git-repo
$ git reset --hard <commit-ID-that-I-need>

优点:我正在克隆我需要的唯一分支,并且克隆了非常有限的历史记录。

缺点:在克隆之前,我需要实际找出哪个分支具有我需要的提交 ID,并且我还需要估计提交距离分支提示有多远,并将这个数字用作“深度”参数(我使用示例中为 20)。

所以我的问题是:如何在没有上述缺点的情况下直接克隆远程存储库某个分支的特定版本?

我发现答案说它无法完成,但它们已经过时了。也许较新的 git 允许这样做?

VonC

除非服务器有特定的设置,否则这似乎是不可能的。

uploadpack.allowReachableSHA1InWant

请参阅我在 Git 2.5 及更高版本中提到的“从远程 Git 存储库检索特定提交”。

git fetch --depth=1 ../testrepo/.git $SHA1
git cat-file commit $SHA1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在推送到远程仓库时强制使用特定版本的git

来自分类Dev

git克隆远程仓库到另一个远程仓库

来自分类Dev

列出git远程仓库的分支而不克隆它

来自分类Dev

使用远程仓库git

来自分类Dev

替换远程 git 仓库

来自分类Dev

将本地git仓库与远程仓库合并

来自分类Dev

远程控制git仓库

来自分类常见问题

git浅克隆(克隆-深度)错过了远程分支

来自分类Dev

如何使git“看到”远程分支以使用--single-branch克隆的仓库?

来自分类Dev

运行克隆的git仓库

来自分类Dev

克隆git仓库

来自分类Dev

如何确定远程git仓库的URL?

来自分类Dev

将git别名推送到远程仓库

来自分类Dev

Git远程仓库,不显示文件

来自分类Dev

无法在Git中推送到远程仓库

来自分类Dev

远程初始化git仓库

来自分类Dev

Git状态-不显示远程仓库的状态

来自分类Dev

Git:如何删除辅助远程仓库

来自分类Dev

如何限制远程git仓库中的交互?

来自分类Dev

Git远程仓库,不显示文件

来自分类Dev

如何确定远程git仓库的URL?

来自分类Dev

同步两个远程git仓库

来自分类Dev

Git远程仓库未显示在<ul>中

来自分类Dev

远程初始化git仓库

来自分类Dev

Git 从远程裸仓库拉取

来自分类Dev

Git仓库版本

来自分类Dev

克隆没有历史记录的git仓库,并让原始仓库能够将更改推送到浅仓库

来自分类Dev

通过https克隆最新版本的git仓库

来自分类Dev

GIT - 使克隆更浅