繁体   English   中英

Git:获取深度为1的git存储库的特定修订版

[英]Git: get a particular revision of a git repository with depth 1

如何在不克隆整个存储库的情况下从git存储库获得单个修订版?

注意 :这个问题已经 问过一百次了,但是我还没有找到解决这个问题的答案,因为它们都始于“克隆整个git仓库”。 在我的用例中无法做到这一点。

我能做的最好的事情是:

  1. 查找提交的depth
  2. 克隆到该深度: git clone --depth $depth $git_repo_url
  3. 检出并重置: git checkout $commit_hash; git reset --hard git checkout $commit_hash; git reset --hard

但这仍然需要克隆到提交深度。

有没有办法避免这种情况,只克隆深度为1的特定提交?

不是clone而是pull / fetch 看到这篇文章:

  1. 如何克隆具有特定修订/变更集的git存储库?

  2. 从远程Git存储库中检索特定的提交

     git init git fetch --depth 1 url://to/source/repository <sha1-of-commit> 

并在服务器端设置uploadpack.allowReachableSHA1InWant

如果您进行reflog和git cherry-pick怎么样

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM