git - 如何浅克隆深度为 1 的特定提交?

标签 git shallow-clone

是否可以浅克隆存储库中的特定提交,即深度为 1?有点像

git clone http://myrepo.git 728a4d --depth 1

使用 SHA 728a4d... 获取提交时的存储库状态?

当我们只对特定提交时的存储库状态感兴趣时,这样做的动机是避免必须克隆整个存储库,然后检查该特定提交。

最佳答案

从 Git 2.5.0 开始(需要在客户端和服务器端都可用)您可以在服务器端设置 uploadpack.allowReachableSHA1InWant=true 以启用特定 SHA1 的提取:

git init
git remote add origin <url>
git fetch --depth 1 origin <sha1>
git checkout FETCH_HEAD

请注意,我没有找到直接使用 git clone 执行此操作的语法。

关于git - 如何浅克隆深度为 1 的特定提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31278902/

相关文章:

git - 撤消 git checkout --orphan

python - Heroku Python 远程拒绝错误

git - 我可以使用 git smudge/clean 过滤器将二进制文件转换为多个文件并返回吗?

git - 使浅层 GIT 存储库不那么浅

接收后 Hook 中的 Git checkout : "Not a git repository ' .'"

git - 当本地 repo 尚未 merge 原始 HEAD 时在 git 中推送提交

git narrow clone 单个文件现实生活中的例子

git - 一种使浅层 git 克隆保持最低限度最新状态的方法?

node.js - 使用 simple-git 进行 Nodejs 浅 git 克隆

c# - 通过反射调用的 String.MemberwiseClone() 方法不起作用,为什么?