簡體   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